The smoking gun is the first test where you are directly calling FocusMax. If you can't get the focuser to move by calling Focuser.Move() then no amount of upstream trickery can change that. My first inclination is that the focuser is simply broken. It should be generating errors if it can't move, but... It's certainly not anything broken in the Windows Object function calling mechanism. If that were broken all hell would break loose. I've never seen that happen (thank goodness).

One thing you can do to eliminate FocusMax (and I seriously doubt it is the problem) is to change your script to directly create an instance of your focuser. Use the ASCOM Profile Explorer to find your focuser's ID, for example ASCOM.Simulator.Focuser. So:

Code:
Option Explicit 
Sub Main()
    Dim F  ' Here is fine, SUP not needed for this simple test
    Set F = CreateObject("ASCOM.Simulator.Focuser")        
    Console.PrintLine "Start position: " & F.Position & " - Focuser is absolute: " & F.Absolute    
    Console.PrintLine "Adding 40 Steps"
    F.Move(F.Position + 40)    
    Console.PrintLine "End Position: " & F.Position
End Sub
I'll bet you will see the same results, indicating that the problem is in the focuser. If this isn't enough to convince you, you can alter the script so it is run outside of ACP, in Windows using its script runner. No Sub Main() (an ACP-specific thing). Each WScript.Echo() will result in a popup box but the effect will be the same:

Code:
Option Explicit 
Dim F
Set F = CreateObject("ASCOM.Simulator.Focuser")        
WScript.Echo "Start position: " & F.Position & " - Focuser is absolute: " & F.Absolute    
WScript.Echo "Adding 40 Steps"
F.Move(F.Position + 40)    
WScript.Echo "End Position: " & F.Position
Save this as Test.vbs or whatever on your desktop. Double-click it. Make sure neither FocusMax or ACP are even running at all. I'm betting you will get the same results... no movement. If this runs in a console window then somehow the Windows script system was confgigured that way (by some other program or ??). THen start up a CMD shell, change directory to the desktop, then run the above as

C:\blahblah\> cscript Test.vbs

Well you can do this anyway, instead of double-clicking it. It will give you a nice little command shell display of the results, and you can use up-arrow to repeat etc.