There were no simultaneous Gdip_Startup() calls in my both scripts (one that works fine and one that was crashy). The block that starts with "If !pToken := Gdip_Startup()" got into my code just when I was uploading it to show it to you, my local version didn't have that block, but the crash still appeared.
ah, ok i see. then the problem might have been that you were calling Gdip_Shutdown() before you were really finished using the GDI+ functions. i'm not really sure.
in any case, i'm glad your issues are fixed and good luck in the future with your scripts