Basically I took dodecahellspawn and began seperating game logic from any SDL dependencies, one of which was SDL_GetTicks(). So for a stopgap, I added an extra parameter to functions that used SDL_GetTicks() that was the current tick count. This unfortunately included a couple of functions that took default arguments. The bugger was that when called at the very beginning of program execution, it would have a tick count of 0, so the call stack looked reasonable at first. Sure, it took me only five minutes to figure out since I am paranoid with my asserts, but that's five minutes I could have saved if I had remembered my lessons from last time.
Hopefully now that I've taken the time to write about it, it will have sunken in for next time. I doubt it, but I can still hope.