I have a dim memory of something like this in the past but I have located no resolution to the problem.
RE: http://www.kixforms.org/forum/viewtopic.php?t=1720
I am not sure whether it is ME, Kixforms/Kixtart or Windows.
Explicit on in all scripts (Jochen) \:\)
I have global constants and flags set in scripts. I don't declare Form page variables as global until in the Function which creates the forms. All Event Functions see the global declarations so I can freely read and update the forms and pass back to KIX for output. The problem is, in Kixforms Classic DLL it does not appear to support .close and when the function closes, unlike KIXtart, the variables seem to remain registered as declared though not accessible so if I re-call the form function it does not simply rebuild but errors saying duplicate definition of form variables. If I set a global flag to indicate whether the form has already been built or not so bypasses re-building, kixtart then cant access the supposidly declared variables. VERY frustrating !
The only way I have, so far, is to re-RUN the script afresh and close the current one - just so I can use the same form again !!
NB: I tried using VARTYPE on re-used form variables and it shows them as Nul.
I also considered writing out temporary scripts and running them to create the forms with routines to write out results to temporary files for reading in the main kix script. Does seem to be a bit of overkill but needs must if its the only means of fixing the problem!

Anyone on the Kixtart side of the equation got any ideas as I need to use kixtart.dll for portability. Can't be installing .Net everywhere !