Not sure this should be a Duration... doesn't follow normal Duration timing rules. How about:
When you play this, set it aside. When another player plays a Heist, discard this.
If you have only 1 Heist card set aside, this is worth $3, otherwise it's worth $1.
Still not sure it matches, but that might be a good direction if people are sticklers about the Duration typing. You probably don't want to set it aside before it is counted.
I would tweak it:
Heist
$4 - Treasure
If you have any Heists set aside, +$1. Otherwise, +$3.
---
At the start of Clean-up this turn, set this aside. When another player plays a Heist, you may return this to your discard pile.
Oh, but then this doesn't account for when you play multiple Heists on the same turn... hmm. So maybe
"If you have any other Heists set aside or in play..."