Looks like a line-height problem. Did you put any line-height fixes in your html? Because if you did and you didn't add a line-height to the text in the button, that would cause the text to disappear.
And like Nicholas said, Outlook for Mac is easy because it supports pretty much all css. Outlook for Windows doesn't as it uses Word as render engine.
The problem is the floating tables within the wrapper table. Lotus will show them all side by side instead of moving down to the next row if they don't fit anymore.
Maybe you can start a new row after the first 2 floating tables to fix the problem?
Unfortunately that code is already present and does nothing.
I tried to target Outlook.com by using [owa] .foo to hide the hamburger image, but that also doesn't help :(
Do you know of any way to look in the code in the mail in the app to see what's happening?
I figured it out! When the colour set in the style of td is the same as the link colour, the link turns blue in the outlook.com app. Just changing one letters or number in one of the colour codes fixes the problem.
I saw you said you send the html to mac mail before sending it to your iPhone. Maybe checked the code that is actually send in your send items in mac mail so see if it didn't strip out the media queries?