Best of both worlds:
Parent - Global $CHILD_EXIT ; define the global

Child:
$CHILD_EXIT = ; set the exit status if we are CALLED
Exit $CHILD_EXIT ; exit with it if we are SHELLED

Now, if you CALL the child, the global var CHILD_EXIT is set, and if you "SHELL KIX32 child.kix", the @ERROR is set, so a
 Code:
CALL 'Child.kix'
'Result is ' $CHILD_EXIT ?

will be the same as
 Code:
SHELL 'KIX32 child.kix'
$CHILD_EXIT = @ERROR

so you can then evaluate $CHILD_EXIT either way.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D