I have no idea what I'm doing wrong but I thought I would have a play with the Bulletproof button maker and works a treat. I've just ran my email through litmus and it did work across the board apart from outlook 2007 and 2013.
What happens is the background appears in the the top left hand corner of my email and yet the text sits where it needs to in the body. The button that the new generated code replaces was set in its own parent table?
Hey Dave! Sorry the buttons aren't showing up correctly for you in Outlook 2007 and 2013.
I wanted to first just check if you happen to be using the buttons on top of a background image? Unfortunately, Outlook doesn't allow the elements to be nested that way. But if you post the design you're working on here, someone might be able to suggest a workaround you can try.
If that's not the issue, posting the full code would be helpful, as we could then have a closer look at what might be messing with the button position.