This behavior is by design. The button parameter to the plot area mouse events specifies the state of the buttons. When the mouse up event occurs, the button in question is up, so you get a 0 which indicates that no buttons are depressed. That being said, I'm not sure that this designed behavior is what most applications need. Unfortunately, we cannot change the behavior without risking breaking existing applications.
The best you can do at this point is to handle the plot area mouse down events, save the mouse state, and compare this saved state against the state specified by the plot area mouse up event to determine which mouse button caused the plot area mouse up event.