Win9x? You're not likely to have too much success with Win9x.

I've tidied your code up a little:
Code:
Break ON
Dim $sProgressChars,$iEnumProcess, $sSpybot

$sProgressChars="/-\|"
$sSpybot="spybotsd.exe"

At(13,10) " ...Please Wait, "+@FULLNAME

Run "'C:\Progra~1\Spybot~1\"+$sSpybot+"' /taskbarhide /autocheck /autofix /autoclose"
$iEnumProcess=EnumProcess($sSpybot)
While 0<$iEnumProcess
At(15,10) " "+Left($sProgressChars,1)+" ["+$iEnumProcess+"] Spybot - Search & Destroy is Scanning for spyware! "+Left($sProgressChars,1)+" "
Sleep(0.3)
$sProgressChars=SubStr($sProgressChars,2)+Left($sProgressChars,1)
$iEnumProcess=EnumProcess($sSpybots)
Loop



When running you should see the spybot.exe process number between the "[]" characters on the screen.

The problem with Win9x is that it has a completely different kernel, so it doesn't support all the process control that NT+ does.

You will need WMI installed on each machine as well for enumprocess() to work - WMI is not available on NT or Win9x as standard, you need to install an add-on.

If you cannot be sure of your clients, then here is a method which should work for all of them.

This requires two scripts. A progress script which just displays a progress bar on the screen and your main script which calls the progress script.

The main script will stop when it calls the SpybotSD, but the progress script will continue to update the screen.

When SpybotSD finished you main script will continue, at which point it tells the progress script to close down.

Here is an example:

PROGRESS.KIX
Code:
Break ON
Dim $sProgressChars,$vDiscard

; NB, $sKey, $sValue, $iX, $iY and $sTitle are passed on the command line

$sProgressChars="/-\|"

While ReadValue($sKey,$sValue)<>"STOP"
At($iX,$iY) Left($sProgressChars,1)+$sTitle+Left($sProgressChars,1)
Sleep(0.25)
$sProgressChars=SubStr($sProgressChars,2)+Left($sProgressChars,1)
Loop

; Remove value - lets main script know we've closed
$vDiscard=DelValue($sKey,$sValue)
Exit 0



MAIN.KIX
Code:
Break ON
$=SetOption("Explicit","ON")
CLS

Dim $sKeyPress,$vDiscard
Dim $sKey, $sValue, $sTitle, $iX, $iY

$sKey="HKCU\Software\KiXtart\ProgressBar"
$sValue=@TIME+"."+@MSECS
$sTitle="Spybot Seach & Destroy Scan in Progress"
$iX=15
$iY=(80-2-Len($sTitle))/2

; Start progress bar
RUN 'Kix32.exe "'+@SCRIPTDIR+'/progress.kix"'
+' $$sKey="'+$sKey+'"'
+' $$sValue="'+$sValue+'"'
+' $$iX="'+$iX+'"'
+' $$iY="'+$iY+'"'
+' $$sTitle="'+$sTitle+'"'

At(0,1) "Main script will now pause until you hit a key:" Get $sKeyPress

; Tell progress script to stop.
$vDiscard=WriteValue($sKey,$sValue,"STOP","REG_SZ")
While ReadValue($sKey,$sValue)="STOP" Sleep 0.1 Loop

CLS "Main script completed." ?