Ok so after playing about a bit further I got right-click to work by adding the code below to the dynamic buttons virtual XML template which meant I could scrap the use of EVENT_GLOBAL_MOUSE_DOWN.
Code:
<MouseButton button="2" enabled="true"/>
Now the button does respond to RMB and I managed to alter the CreateButtons function so the associated savedVariable is removed.
One final question though (for now :P ), is it possible to have the dynamic buttons update without a /reloadUI or relog? to reflect the changes.