As for what is actually causing the segmentation fault, I'm not quite sure. I checked all of my pointers to see if they were all initialized, which they were, so it doesn't appear to be a wild pointer. I'm thinking it has something to due with the massive amount of global variables in my program (you can tell I have no clue).
I've also decided to try out Code::Blocks. I can safely use it with my dev-C++ project file, so that is good. I'm hoping it will help with various tasks that dev-c++ lacks at, namely debugging.
Also, if anyone knows of any free memory debuggers, post here.
I'm starting to understand why Rob Loach likes C# so much, but I can't seem to get SDL.Net working[sad].
Edit: Well this is weird. I just compiled it with Code::Blocks and it works.