The reason it requires 2008 is this metric is being gathered from the ring buffer which is part of extended events and that didn't come out until SQL 2008.
Thanks Brian, makes sense. If anyone reading this anyone wants it as a custom metric for SQL2005 we use the same query as the performance dashboard;
SELECT @ts_now = cpu_ticks / cpu_ticks / ms_ticks
FROM sys.dm_os_sys_info WITH (nolock)
SELECT TOP 1 SQLProcessUtilization
SELECT record.value('(./Record/@id)', 'int')AS record_id,
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)', 'int')AS SystemIdle,
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)', 'int')AS SQLProcessUtilization,
CONVERT(Xml, record)AS record
WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'
AND record LIKE '%<SystemHealth>%')AS x)AS y
ORDER BY record_id DESC
Thanks for sharing! I will post this back to our content exchange too. :-)