VBA calls to user32.dll cursor modification
See the question and my original answer on StackOverflowAlthough it does not strictly answer the 'cursor modification' question, I think you should be able to use Visio's Application object properties:
- The Application.ScreenUpdating Property
- The Application.ShowChanges Property
At least, this will allow you to hide the cursor while you're doing your background processing. I have tested this with your sample on visguy and it does not show painless cursor changes anymore.