@80bit - So I spent some time, creating arrays, pushing back each X for each sprite on the layout, setting a local number and increasing it to set the x, y, angle, layername, size, etc, deleting every object if the distance is far enough and recreating it based on the x and y position in the array.
Then I accidentally saw a new system event : Recreate Initial Objects.
So I deleted everything and added 2 events
Bottom line, we still need to test on bad computers (since it made no difference to mine). We know one thing - it's not something you can do every tick (obviously), so we check every 1 second. We destroy every object and recreate initial objects based on the viewport +/- a few hundred pixels. It drastically changed the object count (as expected), to where I was able to get a stage which had 2300 objects down to 400 without noticing a difference. I'll know more once I get my friend to test it on a lesser machine, but things are looking up for large layouts