<p>We have an application that use MSSQL, when we move to 2005, basically we recommend to our client to apply the backward compatibility package and that’s it, but somebody ask me what to do to be 100% compatible on 2005.
I was thinking on
1. Compatibility level: SQL Server 2005 (90)
2. Remove any DMO reference, and replaced by SMO
3. Connect using ADO</p>

<p>I am not sure if this is the correct answer.</p>

Actually you are talking about two different things.
One is to update the database to SQL 2005 level, to be able to use the functions only available there. It can be done easily by setting the compatibility level. However in this case SQL 2000 clients can have problems with it.
Second is to upgrade your application to use only SQL 2005 related libraries. This is also easy, basically the steps what you have written. In this case your application can also work with SQL 2000 databases (except if you use some SQL 2005 specific feature) because the libraries are backward compatible.
End words: you are either way
compatible
with SQL 2005, the only difference is that you can use SQL 2005
specific features
or not.
Why not change to SQL 2008 already?
Here is a thread
about this topic.