I've been having problems running the program below after it seems to compile ok.
Sometimes I can click on the 'Choose New Passage" button and it will loop twice before hanging.  (I've reinitialised data and variables). Executing the exe again it will only loop once.  Sometimes on recompiling the same code it won't work at all.
I ran 'Debug' and found the two following lines in the debug code:  I've bolded the two suspicious ones.
Starting debug session...
Loading DLL: ntdll.dll
Loading DLL: C:\WINDOWS\system32\kernel32.dll
Loading DLL: C:\WINDOWS\system32\USER32.DLL
Loading DLL: C:\WINDOWS\system32\GDI32.dll
Loading DLL: C:\WINDOWS\system32\OLE32.DLL
Loading DLL: C:\WINDOWS\system32\ADVAPI32.dll
Loading DLL: C:\WINDOWS\system32\RPCRT4.dll
Loading DLL: C:\WINDOWS\system32\Secur32.dll
Loading DLL: C:\WINDOWS\system32\msvcrt.dll
Loading DLL: C:\WINDOWS\system32\COMCTL32.DLL
Loading DLL: C:\WINDOWS\system32\CRTDLL.DLL
Loading DLL: C:\WINDOWS\system32\IMM32.DLL
Loading DLL: C:\PROGRA~1\Google\GOOGLE~2\GOEC62~1.DLL
Loading DLL: C:\WINDOWS\system32\WS2_32.dll
Loading DLL: C:\WINDOWS\system32\WS2HELP.dll
Loading DLL: C:\WINDOWS\system32\MSCTF.dll
Loading DLL: C:\WINDOWS\system32\version.dll
Loading DLL: C:\WINDOWS\system32\msctfime.ime
Loading DLL: C:\WINDOWS\system32\mslbui.dll
Loading DLL: C:\Program Files\IncrediMail\bin\B4ImApp.dll
Loading DLL: C:\WINDOWS\system32\OLEAUT32.dll
Loading DLL: C:\WINDOWS\system32\SHLWAPI.dll
The program 'C:\EmergenceBasic\Experiments\textarrange\resequencing2.exe' exited with code: 0
Why is my program trying to load DLLs from my email program (Incredimail) and Google?  I'm not using any code relevant to either! 
Or does the compiler do this anyway in case they are needed.
Am I being paranoid and it's just my bad code?
Bizarrely the second bolded item only appeared the second time I ran the compiler with 'debug' on.
Do you have any idea what is happening here?  I removed a malware DLL yesterday and am running up-to-date AVG anti virus.
Any help, reassurance or advice would be very welcome.
'$include "prologue.inc" (loaded in the sub in main program... it's just 10 data statements of simple text)
'PUT DEFINITIONS HERE
CONST  EDIT1 = 1
CONST  EDIT2 = 2
CONST  EDIT3 = 3
CONST  EDIT4 = 4
CONST  EDIT5 = 5
CONST  EDIT6 = 6
CONST  EDIT7 = 7
CONST  EDIT8 = 8
CONST  EDIT9 = 9
CONST  EDIT10 = 10
CONST  EDIT11 = 11
CONST  EDIT12 = 12
CONST  EDIT13 = 13
CONST  EDIT14 = 14
CONST  EDIT15 = 15
CONST  EDIT16 = 16
CONST  EDIT17 = 17
CONST  EDIT18 = 18
CONST  EDIT19 = 19
CONST  EDIT20 = 20
CONST  STATIC1 = 21
const  static2=22
CONST  COMBO1 = 23
CONST  COMBO2 = 24
CONST  COMBO3 = 25
CONST  COMBO4 = 26
CONST  COMBO5 = 27
CONST  COMBO6 = 28
CONST  COMBO7 = 29
CONST  COMBO8 = 30
CONST  COMBO9 = 31
CONST  COMBO10 = 32
CONST  BUTTON1 = 33
CONST  BUTTON2 = 34
CONST  BUTTON3 = 35
CONST  BUTTON4 = 36
CONST  BUTTON5 = 37
CONST  BUTTON6 = 38
CONST  BUTTON7 = 39
CONST  BUTTON8 = 40
CONST  BUTTON9 = 41
CONST  BUTTON10 = 42
CONST  BUTTON12 = 43
CONST  BUTTON13 = 44
CONST  BUTTON14 = 45
def datatext as STRING
def savedstring as STRING
'END OF DEFINITIONS
WINDOW MAIN
OpenWindow main,0,0,1193,650,@SIZE|@MINBOX|@MAXBOX|@CAPTION|@SYSMENU,0,"Resequencing Exercise: Chaucer's Wife of Bath",& mainhandler
	
	Control main,@Edit,"",12,70,460,40,@CTEDITAUTOH,EDIT1
	Control main,@Edit,"",12,110,460,40,@CTEDITAUTOH, EDIT2
	Control main,@Static,"The lines on the left are not printed in the correct order. By selecting the correct number of each line, rearrange the text to the right with the correct order.  Select the number in the drop down list and then click the relevant move button.",6,14,1167,50,0, STATIC1
	control main,@static,"Click on the '1' in the box, and use up/down arrow keys to select its true line position.",480,500,100,140,0x50000101, STATIC2
	Control main,@Edit,"",12,150,460,40,@CTEDITAUTOH, EDIT3
	Control main,@Edit,"",12,190,460,40,@CTEDITAUTOH, EDIT4
	Control main,@Edit,"",12,230,460,40,@CTEDITAUTOH, EDIT5
	Control main,@Edit,"",12,270,460,40,@CTEDITAUTOH, EDIT6
	Control main,@Edit,"",12,310,460,40,@CTEDITAUTOH, EDIT7
	Control main,@Edit,"",12,350,460,40,@CTEDITAUTOH, EDIT8
	Control main,@Edit,"",12,390,460,40,@CTEDITAUTOH, EDIT9
	Control main,@Edit,"",12,430,460,40,@CTEDITAUTOH, EDIT10
	Control main,@Edit,"",640,70,460,40,@CTEDITAUTOH, EDIT11
	Control main,@Edit,"",640,110,460,40,@CTEDITAUTOH, EDIT12
	Control main,@Edit,"",640,150,460,40,@CTEDITAUTOH, EDIT13
	Control main,@Edit,"",640,190,460,40,@CTEDITAUTOH, EDIT14
	Control main,@Edit,"",640,230,460,40,@CTEDITAUTOH, EDIT15
	Control main,@Edit,"",640,270,460,40,@CTEDITAUTOH, EDIT16
	Control main,@Edit,"",640,310,460,40,@CTEDITAUTOH, EDIT17
	Control main,@Edit,"",640,350,460,40,@CTEDITAUTOH, EDIT18
	Control main,@Edit,"",640,390,460,40,@CTEDITAUTOH, EDIT19
	Control main,@Edit,"",640,430,460,40,@CTEDITAUTOH, EDIT20
	Control main,@Combobox,"",480,80,60,24,0x50A00602, COMBO1
	Control main,@Combobox,"",480,120,60,24,0x50A00602, COMBO2
	Control main,@Combobox,"",480,160,60,24,0x50A00602, COMBO3
	Control main,@Combobox,"",480,200,60,24,0x50A00602, COMBO4
	Control main,@Combobox,"",480,240,60,24,0x50A00602, COMBO5
	Control main,@Combobox,"",480,280,60,24,0x50A00602, COMBO6
	Control main,@Combobox,"",480,320,60,24,0x50A00602, COMBO7
	Control main,@Combobox,"",480,360,60,24,0x50A00602, COMBO8
	Control main,@Combobox,"",480,400,60,24,0x50A00602, COMBO9
	Control main,@Combobox,"",480,440,60,24,0x50A00602, COMBO10
	Control main,@SysButton,"MOVE",540,80,60,25,0, BUTTON1
	Control main,@SysButton,"MOVE",540,120,60,25,0, BUTTON2
	Control main,@SysButton,"MOVE",540,160,60,25,0, BUTTON3
	Control main,@SysButton,"MOVE",540,200,60,25,0, BUTTON4
	Control main,@SysButton,"MOVE",540,240,60,25,0, BUTTON5
	Control main,@SysButton,"MOVE",540,280,60,25,0, BUTTON6
	Control main,@SysButton,"MOVE",540,320,60,25,0, BUTTON7
	Control main,@SysButton,"MOVE",540,360,60,25,0, BUTTON8
	Control main,@SysButton,"MOVE",540,400,60,25,0, BUTTON9
	Control main,@SysButton,"MOVE",540,440,60,25,0, BUTTON10
	Control main,@SysButton,"Check Sequence",982,500,165,69,0, BUTTON12
	Control main,@SysButton,"Choose a new passage",723,500,225,71,0, BUTTON13
	Control main,@SysButton,"Quit",20,500,118,63,0, BUTTON14
SetFont main,"Times New Roman",10,400,0
	SetWindowColor main, RGB(255,128,255)
	FrontPen main, RGB(0,0,0)
	SetFont main,"Times New Roman",12,400,0,  STATIC1
	SetControlColor main,  STATIC1,RGB(0,0,0),RGB(255,128,255)
	SetFont main,"Times New Roman",12,400,0,  STATIC2
	SetControlColor main,  STATIC2,RGB(0,0,0),RGB(255,128,255)
	SetFont main,"Tahoma",10,400,0,  EDIT1
	SetControlColor main,  EDIT1,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT2
	SetControlColor main,  EDIT2,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT3
	SetControlColor main,  EDIT3,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT4
	SetControlColor main,  EDIT4,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT5
	SetControlColor main,  EDIT5,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT6
	SetControlColor main,  EDIT6,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT7
	SetControlColor main,  EDIT7,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT8
	SetControlColor main,  EDIT8,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT9
	SetControlColor main,  EDIT9,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT10
	SetControlColor main,  EDIT10,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT11
	SetControlColor main,  EDIT11,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT12
	SetControlColor main,  EDIT12,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT13
	SetControlColor main,  EDIT13,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT14
	SetControlColor main,  EDIT14,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT15
	SetControlColor main,  EDIT15,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT16
	SetControlColor main,  EDIT16,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT17
	SetControlColor main,  EDIT17,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT18
	SetControlColor main,  EDIT18,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT19
	SetControlColor main,  EDIT19,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  EDIT20
	SetControlColor main,  EDIT20,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO1
	SetControlColor main,  COMBO1,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO2
	SetControlColor main,  COMBO2,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO3
	SetControlColor main,  COMBO3,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO4
	SetControlColor main,  COMBO4,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO5
	SetControlColor main,  COMBO5,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO6
	SetControlColor main,  COMBO6,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO7
	SetControlColor main,  COMBO7,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO8
	SetControlColor main,  COMBO8,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO9
	SetControlColor main,  COMBO9,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  COMBO10
	SetControlColor main,  COMBO10,RGB(0,0,0),RGB(255,255,255)
	SetFont main,"Tahoma",10,400,0,  BUTTON1
	SetControlColor main,  BUTTON1,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON2
	SetControlColor main,  BUTTON2,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON3
	SetControlColor main,  BUTTON3,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON4
	SetControlColor main,  BUTTON4,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON5
	SetControlColor main,  BUTTON5,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON6
	SetControlColor main,  BUTTON6,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON7
	SetControlColor main,  BUTTON7,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON8
	SetControlColor main,  BUTTON8,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON9
	SetControlColor main,  BUTTON9,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Tahoma",10,400,0,  BUTTON10
	SetControlColor main,  BUTTON10,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Times New Roman",14,700,0,  BUTTON12
	SetControlColor main,  BUTTON12,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Times New Roman",14,700,0,  BUTTON13
	SetControlColor main,  BUTTON13,RGB(0,0,0),RGB(212,208,200)
	SetFont main,"Times New Roman",14,700,0,  BUTTON14
	SetControlColor main,  BUTTON14,RGB(0,0,0),RGB(212,208,200)
	CENTERWINDOW MAIN
	
	gosub WriteToCombos
	waituntil main=0
	
	
	sub mainhandler
	
	SELECT @MESSAGE
			CASE @IDCLOSEWINDOW
			CLOSEWINDOW MAIN:END
			
			CASE @IDCONTROL
			SELECT @CONTROLID
				CASE BUTTON12
				IF @NOTIFYCODE = 0
						/*check answer button clicked*/
						gosub checkthetext
					ENDIF
				
				CASE BUTTON14
					IF @NOTIFYCODE = 0
						/*quit button clicked*/
						closewindow main:end
					ENDIF
					
				CASE BUTTON13
					IF @NOTIFYCODE = 0
						/*get new passage button clicked*/
						
						gosub choosepassage
						
							ENDIF
			
		endselect	
	ENDSELECT
RETURN
endsub
	
	
	
	REM THIS SUB IS TO WRITE DATA INTO EACH COMBOBOX AND THEN SET EACH TO '1'
	SUB WriteToCombos
for x=1 to 10
ADDSTRING main,  COMBO1, str$(x)
ADDSTRING main,  COMBO2, str$(x)
ADDSTRING main,  COMBO3, str$(x)
ADDSTRING main,  COMBO4, str$(x)
ADDSTRING main,  COMBO5, str$(x)
ADDSTRING main,  COMBO6, str$(x)
ADDSTRING main,  COMBO7, str$(x)
ADDSTRING main,  COMBO8, str$(x)
ADDSTRING main,  COMBO9, str$(x)
ADDSTRING main,  COMBO10, str$(x)
next x
SETSELECTED main, COMBO1, 0
SETSELECTED main, COMBO2, 0
SETSELECTED main, COMBO3, 0
SETSELECTED main, COMBO4, 0
SETSELECTED main, COMBO5, 0
SETSELECTED main, COMBO6, 0
SETSELECTED main, COMBO7, 0
SETSELECTED main, COMBO8, 0
SETSELECTED main, COMBO9, 0
SETSELECTED main, COMBO10, 0
RETURN
endsub
sub checkthetext
RETURN
ENDSUB
sub choosepassage
$include "prologue.inc"
RESTORE ONE
X=0:
DATATEXT=""
Y=0
SAVEDSTRING=""
FOR X=1 TO 10
SETCONTROLTEXT MAIN,X,""
NEXT X
FOR X=1 TO 10
GETDATA ONE,DATATEXT
LABEL AGAIN
Y=RAND(1,10)
IF INSTR(SAVEDSTRING,STR$(Y))>0 
GOTO AGAIN
ENDIF
SAVEDSTRING=SAVEDSTRING+STR$(Y)
SETCONTROLTEXT MAIN,Y,DATATEXT
NEXT X
RETURN
endsub
			
			
				Adrian,
The debug window can be misleading.  Your program isn't loading those DLL's, the system is loading them into your process.  If you were to debug *any* executable you would see them on the same list.  They probably have system wide hooks.
As for your program.  A couple of quick things:
sub choosepassage
$include "prologue.inc"
....
Include statements belong at the top of your program and probably isn't doing what you think here.  It is not "loaded" in the sub.  The compiler just plasters whatever is in the include statement at that location during compile time, not during runtime.  
What do you think this logic is doing?
LABEL AGAIN
Y=RAND(1,10)
IF INSTR(SAVEDSTRING,STR$(Y))>0 
GOTO AGAIN
ENDIF
All I can see it doing is delaying your code for a random amount of time. It is not affecting savedstring at all.
And finally...str$ always has a prepending space in its output.  So if you are trying to construct a string of ascii numbers then you need to use ltrim$ as such:
SAVEDSTRING=SAVEDSTRING+LTRIM$(STR$(Y))
Otherwise you end up with:
 1 4 3 5 7 2
instead of 
143572.
Similarly your do nothing delay code would need it in the instr statement:
IF INSTR(SAVEDSTRING,LTRIM$(STR$(Y)))>0 
Paul.
			
			
			
				 ;D   Thanks very much for the help Paul, and for being patient with those of us who aren't great programmers.
First, I am so relieved that the DLLs didn't indicate a malware problem.  I'd begun to convince myself that the programs I've created all contained a virus or code to send out emails or something similar!   :-[ :-[
Second, thanks for setting me in the right direction on the code.  It took my poor addled brain some time to understand why  my supposed loop statement to filter out previously created random numbers wasn't actually doing anything, as you say.  (I'd moved the $include instruction to the sub in desperation to see if it made a difference! I don't normally do that, at least!)
I've solved my problem by doing the following, which at least does what I want it to do, even if it's not the most elegant way....
Doing the rest of this little program should be a breeze!  (Famous last words)
Thanks again for your patient explanations.
Adrian
sub choosepassage
RESTORE ONE
X=0:
DATATEXT=""
Y=0
FOR X=1 TO 10
SETCONTROLTEXT MAIN,X,""
NEXT X
FOR X=1 TO 10  'loop ten times
GETDATA ONE,DATATEXT   'get data from the data file... first sentence, then second etc
label again:
Y=RAND(1,10)
if getcontroltext (main,y)="" 'if there is nothing in this edit box 
SETCONTROLTEXT MAIN,Y,DATATEXT 'add text to the edit box
else 
goto again:
endif 
NEXT X
RETURN
endsub