Scott,
I have tried your program, but I can't get it to do anything.  I have ensured "Run Macropump" is checked.  It is weird how you have to restart and recheck it twice to get it to stay.
Here is the code you wrote:
'Goto angle 
'Macropump.m1s
DesiredAnglePos = GetUserDRO(2000) 'angle entry dro on your screen
CurrentAngPos= GetOEMDRO(29) 'encoder1 DRO from your die
if GetOEMLED(164) or GetOEMLED(165) then 'if the CW or CCW led is on
   if GetOEMLED(164) then 'if the spindle CW led is on.
      if CurrentAngPos <= DesiredAnglePos then 
      ActivateSignal(OUTPUT2) 'coil A cw
      else
      DeActivateSignal(OUTPUT2)
      end if    
   end if
   if GetOEMLED(165) then 'if the spindle CCW led is on.
      if CurrentAngPos >= DesiredAnglePos then
      ActivateSignal(OUTPUT3) 'coil B ccw
      else
      DeActivateSignal(OUTPUT3)
      end if    
   end if   
end if
I have listed the following Inputs/Outputs:
OEMDRO 29
UserDRO 2000
OEMLED 164
OEMLED 165
Under the Spindle tab in the Ports and Pins page, I have assigned CW (M3) and CCW (M4) to pins 2 and 3.
Here is my program.  As shown, the current angle exceeds the input angle.  Therefore, LED 165 should be lit and output 3 should be energized.  Unfortunately this isn't happening.  The labels display what OEM Code I typed:

Here is my macropump.  I saved this in the correct profile under the \Macros\ folder.

Here is my pins screen:

And lastly, here is my general config screen:

I apologize for the length of this post.  I just want to provide as much useful information as possible to you.