Hi Steve,
>I have a routine that if I run once it works fine.
Check the calls to Requery() and Refresh(). A common scenario for recursion is that Requery calls Refresh at the end which at some control level calls Requery again. You can check for this condition with code like this in the Requery and Refresh methods:
IF PROGRAM(-1) > 100
SET SAFETY OFF
ASTACKINFO(laStack)
LIST MEMORY LIKE laStack TO Stack.txt
ENDIF
--
Christof