1. Logins. Martin is right. The logins and the database owner will be things to watch. Is it the same Windows server (for example- 7.0 is a default instance and 2000 is named). Are those 2 different servers in the same domain? Are those servers in different domains? Who is a database owner? SA, standard login, local Windows login, Domain login? The same question about users. Will the account with the same SID exist on another server? If you have to re-map users: Do they own objects? Could they be dropped and re-created? How your app works with users? Does it use user names or user SIDs? What should be re-mapped to what: sysusers to syslogins or syslogis to sysusers. Do they have the same or different permissions? Are the logins being users in more then one database?
2. DRP (Disaster Recovery Plan) hopefully you are attachine a copy, not the current instance, so you can verify everything for #1 if you need after you attach.
3. Application stuff: you have to change all connections strings, ODBC sources, notify users, all this stuff.
4. Crossdatabase Ownership Chaining: SP3 for SQL Server 2000 has this checkbox. Do you work accross databases?
5. I did see one app that did not work after a minor SQL Server security patch, not talking about version upgrade.
6. Did you modify system stored procedures? Could be some surprises. Email me if you have issues with that.
Everything above is applicable to both types of upgrade: attaching and backupg up and restoring, ##1,2 and 3 are also applicable to just moving a database