The following doesn't work on SQL Server 2000, but if you ever move to SQL Server 2005 or 2008, you might want to implement the following:
CREATE TABLE [dbo].[AuditDDL](
[EventID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,
[EventData] [xml] NULL,
[EventTime] [datetime] DEFAULT (getdate())
)
GO
-- This fails on SQL 2000.
CREATE TRIGGER [trgAuditDDL]
ON DATABASE
FOR DDL_DATABASE_LEVEL_EVENTS
AS
INSERT INTO AuditDDL(EventData)
SELECT EVENTDATA()
GO
Since it also catches when indices are rebuilt, you'll need to run the following every month or so to clear out those events:
DELETE FROM AuditDDL
WHERE [EventData].exist('/EVENT_INSTANCE/EventType/text()[fn:contains(.,"ALTER_INDEX")]') =1
GO
DELETE FROM AuditDDL
WHERE [EventData].exist('/EVENT_INSTANCE/EventType/text()[fn:contains(.,"UPDATE_STATISTICS")]') =1
GO
I know it is also a little late for your situation, and the wrong version of SQL Server, but it may help other folks in the future.