In my experiment from Microsoft SQL Server 2005 - 9.00.3042.00
to Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
upgrade of user database using backup/restore and attach/detach, it didn't change the compatibility level.
Here are few lines from MSDN:Database Compatibility Level After Upgrade
The compatibility levels of the tempdb, model, msdb and Resource databases are set to 100 after upgrade. The master system database retains the compatibility level it had before upgrade, unless that level was less than 80. If the compatibility level of master was less than 80 before upgrade, it is set to 80 after upgrade.
If the compatibility level of a user database was 80 or 90 before upgrade, it remains the same after upgrade. If the compatibility level was 70 or less before upgrade, in the upgraded database, the compatibility level is set to 80, which is the lowest supported compatibility level in SQL Server 2008.
More details can be found here:http://msdn.microsoft.com/en-us/library/bb933942.aspx
With Thanks and Regards
My Blog - http://arshadali.blogspot.com/