the way I did my breakout was the ball is object 1, the blocks are objects 10 to 163 Then you test collision between object 1 and any with:
`\blocks collision (obj 10-163)
intBlockHit=object collision(1,0)
if intBlockHit >= 10 and intBlockHit <=163
fltBallY=fltBallY * -1
delete object intBlockHit
play sound 2
inc dwoScore, 45
...
intBlockHit gets the number of the collided object, then if it's between 10 and 163 we know its a block and the object is deleted.
as far as toggling the ball movement on the y and x axises I can tell you that multiplying your ball travel speed value (whether it is neg or pos) by -1 will keep its same value but flip flop the neg/pos portion...
5 * -1 = -5
-5 * -1 = 5
hope this helps