Thanks,
I'm planning to break up my project into different pieces in order to help narrow down the cause of these issues. One thing that occurred to me right off, all my global variables, strings, bmaps and pointers are being called though the main script, I mean, not within a function, not sure what the word for this is.

Is there a way to call global pointers like these from within a function, so they are only called upon when needed? For instance, if I have a level with certain textures, but those textures will not be used on any other levels, can I call them within a function, so they do not get accessed on other levels?

I hope this makes sense. This way, I could break up my program, and only those features being used would be called in the level they are being used on. That way, if there is a faulty bitmap, or model, etc... it would only cause problems in the level it is used on, and I could narrow down the cause much faster.

In a related question, how does the engine know which action/function to call first after loading a level? Does it start the top of the "level" list in WED and work its way down?

That way, the first entity on the list could call all the bitmaps, pointers, strings and variables used by the things on that level only. Is it possible?