Process terminated with status 3 (0 minutes, 1 seconds)
Das sagt uns jetzt nichts, weil hier wohl niemand weiß, wann bzw. wo dein Programm mit Code 3 beendet wird, da musst du schon selbst nach suchen.
Das SDL_Quit() zu entfernen, ist keine gute Ideen, das sollte definitiv drinbleiben. Wenn es dabei zu einem Fehler kommt, kann es entweder sein, dass vorher irgendwo irgendwas schief gelaufen ist, aber erst beim Freigeben der Resourcen der Fehler "entdeckt" wird. Du solltest also probieren alle Stellen, wo ein Problem auftreten könnte, abzusichern und zu prüfen, ob eins aufgetreten ist. Dann kannst du einen Fehler auch später an diese Stelle zurückverfolgen und sparst dir das suchen.
Andererseits kann es auch bedeuten das etwas mit der SDL Bibliothek nicht stimmt. Das ist der eher unwahrscheinliche Fall, insbesondere wenn sie bei anderen Anwendungen funktioniert (schon getestet?), aber es besteht halt eine Möglichkeit, besonders wenn du LIBs & DLL selbst kompiliert hast.
Gruß
SaRu_