In case you are considering to apply SQL Server SP3 CU5 (http://support.microsoft.com/kb/972511) to your system, I'd like to point out one issue / bug we found with CU5.
Finding: SQL Server 2K5 SP3 CU5 will damage your replication if the following two conditions are met in the replication framework
1. The replication is a transactional replication and it has publications with updatable subscriptions
2. Replication distributor and publisher are hosted on different sql server instances
The direct error is when you try to do a DML operation on any tables of updatable subscriptions, you will get the following similar error (when I do an insert)
Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'pub_db.dbo.sp_MSsync_ins_tblCustomer_8'.
The root cause of this issue is that CU5 messed / renamed the original dbo.sp_MSsync_ins_tblCustomer_8 ( a system stored proc created automatically by the replication setup for updatable subscriptions) on publisher db side, if I checked on my pub_db side, I will find that there is no dbo.sp_MSsync_ins_tblCustomer_8 there, but instead I find a SP with weird name, something like dbo.sp_MSsync_ins_A4F13DFA_8E4D_48AC_BA3A_351ED6CBA5D4
So the obvious thing is that during CU5 patching, the original dbo.sp_MSsync_ins_tblCustomer_8 was renamed (for whatever unknown reason)
We have verified this in three of our different enviornments and in two of the environments, we repeated by uninstalling CU5, re-setting up replication and then re-patching CU5 again, each time, the same issue can be observed
(Note: if the publisher and the distributor share the same instance, there is no such issue)
So please be careful if you want to apply CU5 and your production has the conditions as I outlined above.
After CU5 is applied, drop the publications with updatable subscriptions and then re-setup the publication and subscriptions.