In the case where you are getting errors "outside VC++ compiler", I would put a file write inside the code so that when it hits that section it writes a message to a file so you can see where it crashes. You could do something like this:
Make a function you call at different times.....
void LastLocationRun(char *Spot){
FILE *F;
F=fopen("c:\\Location.txt","wb");
fwrite(Spot,strlen(Spot)+1,1,F);
fclose(F);
}
... and call this at different points in your game (using a string to describe where it was last). Example:
LastLocationRun("After ImageLoad function");
The fastest code is the code never written.