This is an interesting idea. With Windows the cursor is part of the operating system and, so far as I know, the operating system has data structures for only one of them. Therefore to make this work, the double-cursor software would probably have to maintain its own data structures for the two cursors, and every time you moved or clicked a different mouse from the one you had just been using, the software would tell Windows, "Switch the state info for your single cursor to match the appropriate one of my cursors."

Using this approach the double-cursor software could emulate two cursors to some extent but there would almost certainly be some limitations. For example, the operating system would always draw only one cursor, not two. In windowed mode the double-cursor software could probably draw the second cursor itself but this would be very difficult if not impossible in full-screen mode (i.e. DirectX exclusive mode). Another problem is that some of the functions in the OS's cursor API deal with the history of the cursor's location (i.e. the recent path of the mouse). That history would get screwed up because it would intermix the locations of the two cursors. This would make some programs work incorrectly. Also, I don't think there's any way for an application to know which of two mice generated an input, so the double-cursor software would probably have to include a device driver.

Tech stuff aside, I'm curious. Are you sufficiently ambidexterous to target things with both hands? I'm not. I can click buttons with my off hand but I can't position the cursor on click boxes in a reasonable amount of time.