I just last week did an upgrade to 2005 and encountered the same problem as you are having. i also used paul randals blog which corrected problems related to syscols but not sysobjects.
I open a ticket with microsoft and this is what and recieved two email responses.
Root Cause (if known) – This is a known issue that occurs when a table has been deleted not using the established methods of deleting database objects (e.g. modifying the system tables). The error existed in SQL 2000 but was not checked by DBCC CheckDB. SQL 2005 began making this check in DBCC CheckDB.
Resolution – There are two supported options:
1. Ignore the error. Your database performance should not be affected by this.
2. Create a new database and move all data and objects to the new database.
Resolution – I have submitting this question to the dev team and here are the two possible work arounds to your problem.
Bcp out all the data, fix up 2000 databases before upgrade to Yukon, and bcp in the data.
2nd one (unsupported)
Remove the column thru DAC connection when SQL server started in maintenance mode. After issuing “Delete sys.syscolpars where id = ” thru DAC, restart the server immediately. This will also leave a message in your error log every time you restart SQL Server.
The most viable option here for me is to use email 1 resolution 2 and although i haven’t tried email 2 resolution 2. Either way i’ll have to schedule downtime a month from now.
hope this helps