I tried it in both C2 and C3, and got the same results as you.
then instead of using instance variables on the Luke sprite I used global variables and then the keypresses worked the way you want.
so that leads me to believe it is a picking issue. Since the instance variable is not set while the key is down, the Luke sprite is not picked, so the simulate control does not get executed.
I would think this is a bug in C2 and C3.