I think I see your problem.

Try this:

code:
:O2K_SR2$
currentfilever = "9.0.0.4527"
$winpath = readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\winword.exe","")
IF getfileversion($winpath,"FileVersion") < $currentfilever
GOSUB ASSIGN_UTILITY_DRIVE
MESSAGEBOX("Please be patient. This process takes a minute to display its progress, and may take up to 15 minutes to install. Please do not open any applications until the installation is complete and your machine restarts. Click OK to continue.","Installing Office 2000 SR-2",16,0)
CLS
Run "U:\Upgrades\SP2\sp2upd.exe /q"
Exit 0
EndifReturn

I noticed that the value you're reading from the registry returns the path of winword without winword.exe appended. So, you aren't getting the version of winword.exe. If you use the (default) value (by using "" instead of "path"), you will get the full path including the winword.exe.

Brian