The error indicates that
Win32Shutdown returned a non-zero value, which is documented to be an error condition. It sounds like a WMI/Windows bug if it's returning an error code but actually working (it returns 0 in our tests on Win XP SP2).
Instead of ignoring any failure, one workaround may be to add something like this to the step's vbld_StepDone script event:
Code:
If Step.BuildStatus = vbldStepStatFailed And _
InStr(Application.Macros(vbldMacroSystem)("LASTSTEP_OUTPUT"), "Error initiating shut down") Then
Step.BuildStatus = vbldStepStatSucceeded
End If