>Thanks for your input, but I don't think issuing the 'set classlib ...' again.
What about doing another SET CLASSLIB in another section of your code, to reference another library? If you do this, and do not use the ADDITIVE clause, the current libraries referenced by your SET CLASSLIB are lost - replaced by the new reference, rather than extended to include it.
You can always save the current state of the classlib list by saving the return of SET('CLASSLIB') to a memory variable, and then resetting it at a later point. The following is terrible coding practice, using both a PUBLIC variable and needless macro expansion out of sheer stupidity, and I'd feel obligated to kill or sterilize any programmer working on one of my projects who did this, but that's a personal problem...
PUBLIC gcClassLibList
gcClassLibList = SET('CLASSLIB')
IF TYPE('gcClassLibList') = 'C' AND ! EMPTY(gcClasslibList)
SET CLASSLIB TO &gcClassLibList
ENDIF