Are you using MME or ASIO drivers? Could there be an effect, like "Peak Limit / Dynamics" or something set globally running in the background? That would explain why the volume level is not returning 100%, some compressor / dynamic leveling happening we don't see?

I know if I set my driver to ASIO, and have it set to a "priority" type when listening to anything wave related on my lappy, I think the PG Peak Limit also runs "globally" along with the driver. Not 100%, but there is a difference in db's when set to ASIO.

Trax