I'm quite sure that the disappearing cursor has nothing to do with any application and is a problem with OS X. Too many people have the problem in very diversified circumstances. Here is my discussion of what could cause a bug like this:
I’ll suggest in general terms what might cause a highly intermittent bug like this.
Lets suppose that there is a cursor driver that is called by interrupts hundreds of times per second. This routine has to replace the cursor with previously saved screen image and save the image where the cursor will be moved to and redraw the cursor. Somehow there is a map of the screen telling where links and text and the edge of the window are so that it can know when to change the type of cursor. Now, suppose a higher level routine, perhaps called by customer applications, also has to get and send information to the interrupt routine. Assume a data structure consisting of multiple computer words is used to pass this information back and forth. If this data structure contains the wrong information the cursor will disappear. How can the data structure be changed, i.e. corrupted, so that it expresses an invalid cursor state? Well, if an interrupt takes place while the higher level routine is in the process of updating the data structure, and the interrupt routine also tries to update the data structure, then confusion will rein. Normally the higher priority interrupt routine must be prohibited from interrupting the update of the data structure by the higher level routine while the higher level routine is in the middle of updating the data structure. So, normally, some mechanism will exist to temporarily raise the priority of the higher level routine while it is updating the data structure. The update of the data structure has to be atomic, ie completed without someone else trying to mess with the same data structure.
If the critical segment where the data structure is being updated is 1 microsecond long and is encountered only every second, then the chances of failure will be 1 in a million. However over a period of hours there could be a million chances as the mouse is moved and the interrupt routine is called. However this process may not be strictly random. Depending on the relative timing of the interrupt routine and the higher level routine a collision between the two routines could take place much more frequently. There can be synchronizing events and “beats” that cause the time difference between the two routines to converge. On the other had the synchronizing events may serve to always prevent a collision. That may be whey the bug doesn’t occur much on infinity loop in Cupertino.
Probably the best way to find a bug like this is to inspect the code.