As far as I can see, there is nothing wrong with it.
MessageBox MB_OK|MB_ICONEXCLAMATION "Error: Cannot rename \
the $1 directory to $2,$\nbecause a $2 directory already \
exists.$\n$\nEither rename the detected $2 directory to something \
else, or use $2 as your base Quake2 directory path." +2
I'm getting $R0 from the GetParent function. Could that be causing it?
Edit: I did a StrCpy $2 "$R0\quake2" to get the same as what I had before ($R0\quake2, which I have replaced with $2) but that didn't change anything.
-Stuart