I found the following on MSDN (http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.100).aspx):
The 32-bit version of Aspnet_regiis.exe adds only 32-bit scriptmaps to
the Applicationhost.config file. The 64-bit version of
Aspnet_regiis.exe adds 32-bit and 64-bit scriptmaps to the
Applicationhost.config file. This is done because 64-bit versions of
Windows Vista, Windows Server 2008, or Windows 7 installations that
have IIS 7.0 enabled will also have Windows on Windows 64-bit (WOW64)
support available.
Also,
There are 32-bit and 64-bit versions of Aspnet_regiis.exe. For Windows
Vista and Windows Server 2008, you can run the 32-bit version of the
tool on a 64-bit installation of IIS. This lets you run mixed 32-bit
and 64-bit worker processes on the same 64-bit system. The following
table lists special cases and limitations that apply when you run the
32-bit version of the tool on a 64-bit version of IIS.
Thereafter it explains specifics for IIS6.0/7.0 - quoting the part applicable to IIS7.0:
On Windows Vista, Windows Server 2008, or Windows 7, when you run the
32-bit version of Aspnet_regiis.exe under IIS 7, the tool does not
automatically set the enable32BitAppOnWin64 attribute of the
applicationPools element. On a default 64-bit operating system
installation, with Windows on Windows 64 enabled, you can use 32-bit
Aspnet_regiis.exe to configure IIS 7, but you will not be able to run
any 32-bit applications, unless you explicitly change the
enable32BitAppOnWin64 attribute to enable running the application in
Windows on Windows 64. For more information about IIS 7.0
configuration options, see the documentation for the applicationPools
element in the Applicationhost.config file.
So far I've also had success in running 32-bit web applications by using the method you described in your question.