So I think you are saying that the startup sound is still at a low level (the level you set it to before the restarting). Therefore, the reset to the higher volume setting must take place at some point after the startup sound but before startup completes.
Note: The setting for the alert sound does not matter for the startup sound's volume. Also, when you have external speakers disconnected, the sound volume setting used for the startup sound AND "output sound" are one and the same. That's why you can use the volume of the startup sound as an indicator of when the reset is taking place.
And you also know now that the reset does not take place as the iMac is shutting down (between the time you give the restart command and the startup sound), because the startup sound is still at the same low level you set it to.
By trying the new admin user account, you showed that the reset probably does not take place during the second half of the startup process, when the account login takes place. If the same thing happens when you have auto login set to two different accounts (one of them a fresh user account), then the sound volume reset probably happens before login.
So the sound volume reset seems to take place between the startup sound and user account login. One thing that happens during that time is loading of system extensions. These include third-party device drivers and software that uses the Mac's hardware at a low level. You can start up in +Safe Mode+, which does a startup with only Apple's essential extensions loaded.
http://support.apple.com/kb/HT1564 <- What
<a class="jive-link-external-small" href="http://">http://support.apple.com/kb/HT1455 <- How
So, do the same test, but do a +Safe Mode+ startup instead of a regular startup. Note if the sound volume is still set low after startup, or if it as been reset to a high volume.
If that actually causes the problem NOT to occur... since this problem is related to sound, if it is an extension, it may be something for an audio-related third-party device or application. You can try looking at these locations
<startup disk>/System/Library/Extensions/
<startup disk>/Library/Extensions/
<startup disk>/Library/PreferencePanes/
The only other test you can do is to start up from a freshly installed Mac OS X system. If you have an external USB or FireWire drive that can be erased, you can install the system there, then set the iMac to boot from that drive. Or you can backup your data, erase the internal drive, and reinstall the system on the internal drive.