Just keep the dt, it's not only a framerate thingy, it makes the movement smooth and consistant. And the substraction is what makes the movement pixel precise. It's not a fix it's just manual rounding. So I strongly suggest you keep it that way. One tiny action is not what we can call "a hassle" in my opinion.
Also, for the angle, I already thought about that. I could have simply used an instance variable. But it's just a sprite. It's just an object with angle and position. Nobody said you had to use the same object for graphically eye-candy stuff.
Just set the 'Player' sprite to invisible, and just make your character follow the position (and not the angle) of this 'Player' sprite.
And for the bug you talked about, I would guess that it's a type issue. booleans aren't string nor number. What is displayed in text should be strings or number converted into strings. C2 might not handle what is called type casting from boolean to string.