We've used the following SQL Statement for a while. Looks like your hitting the same elements. I just checked it again in Microsoft SQL Server Management Studio for SQL Server 2012.
select a.owner,a.table_name locked_table, a.registration_id, b.owner locked_by, b.nodename connect_source, b.start_time
from sde.sde_table_registry a, sde.sde_process_information b, sde.sde_table_locks c
where a.registration_id = c.registration_id and b.sde_id = c.sde_id