Il campo ObjectId viene valorizzato solo per certi eventi, non per tutti.
Con SQL 2005 ti conviene caricare TUTTE le righe che produce il trace in una tabella di analisi e poi li farci su un pò di pulizia (magari aiutandoti anche con il FULL-TEXT Search) per lasciare solo le righe con i dati che ti interessano (INSERT, UPDATE, DELETE e TRUNCATE nella tuo caso)
E' un lavoro non pulitissimo ma l'unico fattibile che soddisfa tutte le tue esigenze IMHO. Ovviamente se non ti interessa tenere traccia del TRUNCATE puoi tranuillamente usare i trigger :-)
In SQL 2008 ci sarà il support nativo per l'auditing, ma fino ad allora dobbiamo utilizzare per forza di cose il tracing.
Oppure poi leggere il transaction log (usando il comando non documentato DBCC LOG) dove ci sono dentro tutti i dati che ti servono. Non ti consiglio però di farlo a mano, ma ti suggerisco di acquistare un tool come l'Apex SQL Log (http://www.apexsql.com/sql_tools_log.asp) che fa egregiamente questo lavoro.