1- I'm not sure what your asking.
2- Make a variable like:
PlaySong as boolean =0
....
....
if PlaySong=1
(play the song file here)
else
(stop playing the song file here)
endif
if spacekey()=1 then PlaySong=1-PlaySong
3- I think I know what your asking..... If you rotate an object, then the "foreward" direction has been rotated already. If you mean it's direction of momentum, then you have to make another vector to account for that.
4- Try to be more specific in your questions.... Give code if you think we might not understand what you mean....
The fastest code is the code never written.