Buffer timeouts are usually caused by slow disk problems, or disk queueing. The root cause can include a failing disk, or simply disks that are no longer fast enough to keep up with the current disk load.
Check perfmon for the Current and Average disk queue, as well as the number of IOs / sec that the disks are performing. A good number to work off of is 100 IOPs per second per spindle for fast SCSI or fibre channel drives. If you are using SATA or IDE then 60-80 IOPs per second per spindle will be a closer number.
I think that you will find that your maintenance plans is pushing the disks, and as Monday comes around and data is being destaged from memory and new data is being loaded from disk into memory a great amount of stress is being placed on the disks.
Unfortunately SQL 2000 SP4 probably will not fix this problem, but it is a good idea to install it anyway as it contains many fixes to SQL Server 2000 SP3.
Agree that SP4 is unlikely to resolve this issue. Also, the KB above refers to an issue that was fixed pre-SP2 (8.00.532) and the OP is already on SP3.
If you are pretty comfortable with perf tuning, setup perfmon to track disk and query activity, specifically to look for bottlenecks and unusually long durations. Also, look at your waitstats to see what specific resources you are getting a more than expected queuing. The another responder has indicated, it may very well that be the disk subsytem is overwhelmed and the fact that you see this after some busy maintenance operations leans further in that direction. If perfmon and waitstats data indicate disk bottlenecks, that’s pretty easy to solve (if you can get and install more disks).