You could also do a bit of loop unbundling - test all sprites each iteration. It'll save a good amount of jumps and a comparison each time.
Code:
For each bob do
If (is collision (sprite1) then...
Else if (is collision (sprite2) then..
...
Else if (is collision (sprite n) then...
End if
Next
Sprites not in use would need an appropriate flag set to be ignored, but you only have the one loop to contend with.