I've found that on a Mac there can be multiple layers of processing on mouse events. The OS does one layer, the mouse driver does another layer, and the running app does another layer. These all need to align for the middle button and scroll wheel to behave as expected. For example, on my Mac I need to connect the mouse and then manually open the Microsoft Mouse item in System Preferences after a system reboot; it does not initialize unless I follow this sequence (yeah, I know, crappy mouse - but what I had available from a prior Windows box).