Thanks for your perseverance! I tried what you suggested and replaced the mesh renderer component with a new one but I'm still getting the same results. I also tried removing the mesh render component outright but that didn't do it either.
For good measure I have also tried building the game without running in case unity is doing silly things. I tried this normally, after replacing the mesh renderer and after deleting the mesh renderer but I still get no results.
I'm trying to compare the button that doesn't work to the background FSM object that does work. The only difference I can tell is the background has "is trigger" set but changing that on the button didn't seem to work. Ive also removed the object from it's parent and set it further towards worldspace z=0 in case it's a camera clipping problem or it's placement in the hierarchy is what is causing the problem but no dice.
Another experiment I just tried was creating a new cube and copying the FSM onto it. When that didn't work, I tried making an all new FSM with the mouse down event and that didn't work either. Then I gave a new cube a mouse over event instead and still got nothing
Now I'm testing in another project also in Unity 5.3.5 but using playmaker 1.7.8.4 instead. The mouse down event worked fine in the build. Then I updated the project to 1.8.1.f10, recreated the SFM, built the game and the event no longer works. So that's a result. Maybe It's something in this latest version that is causing problems. What do you think?