I just ran into this problem over the weekend. I switched from using the 64-bit installer to the zip file so I could further script the installation process (to setup service, appropriate memory values, etc, etc).
It took me a while to figure out why it worked fine as a console but failed when run as a service. It is nice that the JIRA KB article talks about it. However, the Bamboo equivalent does not cover that possibility, it instead blames it on the Java and/or Windows platform being wrong - no mention of those being correct and Tomcat being wrong. There is also a separate JIRA KB which also does not cover it. These two "incorrect" articles are the first two (Google) search results that come back when searching for:
bamboo service "is not a valid Win32 application".
These articles sent me down the wrong path for a while. The documentation really should be updated and made consistent.
In addition to updating the documentation, there should be two zip files, just like there are two installers. Right now, even though the zip is effectively "32-bit only", it is not labeled that way. Or even better, a single zip file would contain both 32 and 64-bit versions and the service installation batch files would detect what the current system / JDK platform is and configure the 32- or 64-bit ones as appropriate (or at least give separate batch files from which to install the appropriate service).
+1