Ken
You must not be using VFP6. From it's help file:
If you specify –1 for nLevel, PROGRAM( ) returns as a numeric value the current program level. PROGRAM(–1) always returns zero when issued from the Command window.You'll have to use the code JimB posted for VFP5 or VFP3.
>Program(-1) (or negative anything for that matter) all seem to return the same as program(0) - the top level program. Did I misunderstand something?