Does this return anything?
IF OBJECT_ID ( N'msdb.dbo.dbm_monitor_data', N'U' ) IS NULL
SELECT 'No data'
ELSE
SELECT * FROM msdb.dbo.dbm_monitor_data
or this?
SELECT
*
FROM
msdb.dbo.dbm_monitor_data
WHERE
database_id = OBJECT_ID(''NAV_Mirroring'')
Maybe there's no data to read? On my local machine these commands return null.
If I run the procedure
EXEC msdb..sp_dbmmonitorresults
@database_name = 'LocalTestDB'
,@mode = 0
,@update_table = 1
I get this error:
Msg 32039, Level 16, State 1, Procedure sp_dbmmonitorupdate, Line 99
The database 'LocalTestDB' is not being mirrored. No update of the base table was done.
I also noticed that the mirroring stats values as declared inside msdb..sp_dbmmonitorresults are TINYINT rather than INT on a few of the variables. I don't see how that would make any difference, but it's just an observation.
Sorry I can't offer any more help than this.