There's definetly some more characters to be squeezed out here by just removing some of the whitespace and linebreaks. I managed to cut 18 characters off your code and not removing any logic, so there may be space for line clearing yet!
I was making my own version of tetris but it looks like I won't have space for the full game, here's what I have for line clearing though, it should work quite nicely for your version too;
for y=63,4,-1 do
for x=0,63 do
l=l and pget(x,y)>0
Basically, start from the bottom of the screen and work up, check each pixel from left to right, if not black, keep l to be true. If l is true after checking the whole line, copy the screen data from the top down to the line we just checked down by 1 line and start the check again (we might have multiple completed lines and continuing in the current loop might miss them!).
Anyway, excellent game, love the idea!
Hope to see you for TTJ5!