Well I had the same problem with too many collision detections going on. So I began messing around with various collision commands and I came to the conclusion that
Set Global Collision does not work properly. All it does is turn collision on or off, regardless of individual collision settings. To solve my problem all I did was turn collision off for objects I didn't want to check.
Instead of the
Set Global Collision Off command I would write a function that will turn off collision for a range of objects, like:
function set_collision_off(start,stop)
for t=start to stop
if object exist(t) = 1 then set object collision off t
next t
endfunction
Then just call that function right after all my objects are created, and afterward use the
Set Object Collision On command to turn on collision for objects that I do want.