Resetting the parameters field of an existing WPProgram object to a null string is only possible if the last parameter for SysCreateObject is R (i.e., replace). But this use of the function SysCreateObject deletes and recreates the existing object. This means that all references to the object are deleted but not recreated.
A workaround for this feature: Use PARAMETERS=% (or PARAMETERS=%* if the object should support drag & drop) in the setup string to change the object. This method is also necessary if you're going to change the object settings with SysSetObjectData.