I think I've found why you get the feet sometimes buried in the platforms.
It is because the screen is scrolling up at a constant rate (2 pixels at a time I'm guessing), but the player is falling at a different rate. Because these values aren't always divisible by each other you get the effect we're seeing.
To solve it we need to get the player's y position to always finish on an odd number (I assume your positional counting starts at 1 rather than 0), and to do this we just need to insert one line in the .moveply function just before the final EndIf. The end of that function should now read:
If \y MOD 2=0 Then \y=\y-1
And hopefully that'll do the trick for now !!