Usually deadlocks are an issue with either database design or inconsistencies with how the application accesses database resources. It's often that you will find resolutions to problems by making changes there, vs. the infrastructure. Deadlocks are often frequently not found during functional testing, but do tend to be found when you do performance and scalability testing.
You can help the development team out with this by using traces which cause more detailed info to be logged to the SQL log.
ex: DBCC TRACEON (3605,1205,-1) - make sure you turn that off (DBCC TRACEOFF) when you're done capturing log messages!
Next, verify the typical things with any SQL installation:
- ensure it's at SP4
- has proper hardware setup - log files on a raid 1 drive, data files on raid 5 drive, tempdb on a raid 1 drive, and backups on a raid 5 drive - i would call this a minimum for any real server.
- has a maintenance plan set up (backups, rebuilding of indices, integrity checks, updating statistics). I believe SQL 2000 has a maintenance plan wizard for this.
Lastly, begin plans to migrate to SQL 2008 R2 - SQL 2000 is at end of mainstream support now, and exits extended support in 2013.