How are you disabling enemies? The easiest way to disable every object outside the view is to use this in the player's step event:
instance_deactivate_all(true)
instance_activate_region(view_xview[0]-
32,view_yview[0]-
32,
width,
height,true)
(replace bold stuff with your own values)
That deactivates all objects, then re-activates only the objects that are within the region you specify.
Usually it's a godd idea to give solid blocks a larger active area than everything else, so you might want to try this:
instance_deactivate_all(true)
instance_activate_region(view_xview[0]-
32,view_yview[0]-
32,
width,
height,true)
instance_activate_object(ob_block)
instance_deactivate_region(view_xview[0]-
64,view_yview[0]-
64,
width+64,
height+64,false,true)
(if you don't give blocks some extra active space, sometimes enemies can walk into the empty space of a deactivated block, just before being deactivated themselves, causing them to get stuck once the blocks are re-activated).
Sorry for the sloppy code. It should be right but i didn't test it, so check the manual or ask here if it's not working