I took everyone's advice and changed how it starts. I set the default mode to 800x600, not 640x480 and will see how it goes. Instead I am having the user choose a screen resolution using this code.
function SetupScreenMode()
cls
Print "***********************************************************"
Print "* TOWER CAB Needs to know what screen to use for gameplay *"
Print "***********************************************************"
if file exist("screenmode.cfg")
open to read 1, "screenmode.cfg"
if file open(1)=1
read long 1, ScrnMode
endif
close file 1
endif
perform checklist for display modes
size = CHECKLIST QUANTITY()
if Scrnmode > 0
goto SetMode:
endif
for c=1 to size
Tmp$ = " "+str$(C)+" "+checklist string$(c)
print tmp$
next c
Input "Choose your screen resolution (1-"+str$(c)+")", ScrnMode
open to write 1, "screenmode.cfg"
write long 1 , Scrnmode
close file 1
SetMode:
screenwidth = checklist value a(ScrnMode)
screenheight = checklist value b(ScrnMode)
screendepth = checklist value c(ScrnMode)
set display mode screenwidth, screenheight, screendepth
exitfunction
Then it should set the screen each time it starts. I've tested it and its working fine. So I've sent to a few users having issues.
I included in my installer the DLLs that Ian's Matrix1Util require. But the users have been reporting that they are getting an error saying missing dll MFC71.DLL. So I provide them with that DLL, then the next error says, error 1507.
Hopefully this new approach will end the madness. Thanks for your tips guys. I'll tell you what happens.