GENDBCX has 3 input parameters:
tcOutFile, tcClassName, tlSeparateSPObjCode
If you use just the first one then KRT file is created
The second one allows to use your own GENDBC class and it is most probably empty in your case
The third one when .T. allows to create KRT + KRO file. KRT contains the source, KRO the compiled code. BUT this probably does not help.
Database compilation is allowed even if DBC is not open, so you may add COMPILE DATABASE <YourDatabase> command just before the OPEN DATABASE <YourDatabase> command into PROCEDURE CreateDBC in generated PRG code. If the DBC file is correct (and it should be because it contains just stored procedures at this point) then the compilation should help. It also means the KRT file is not created correctly which sounds suspiciously... But you have to try.
The GENDBCX available on a web was last updated 1998.07.20 by SEA. Its version is 1.12. Everything is in comments at the beginning. It seems you have the latest version. BTW, VFP now contains GENDBC which is probably newer than this GENDBCX.
And the final and most important question:
Did you try to generate new DBC from the code generated by GENDBCX or does it crash only when you use your own updater?