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.