On this machine I am running VFP8 under Win2K and that is a little different; however, I do notice that SET('PRINTER',2) and SET('PRINTER',3) both return to me the network PATH of the printer, as in
\\HAL2K\HP LASERJET 4300 PCL 6
What you might need is the actual printer name portion after the server name.
My feeling is that Windows script is a little funny especially when running on Win9x. I refer to the information at
http://www.winguides.com/scripting/reference.php?id=132. You might try executing AddWindowsPrinterConnection (using all the extra parameters you need under Win 9x) to officially bring the printer into the "reality" of Windows Scripting, and THEN try the SetDefaultPrinter method. These are just some thoughts for you for whatever they're worth.
Art