The previous post can help you list the names of detached databases, but not the detached files that I think you're looking for.
It sounds like you have a large file system (SAN?) that can have database files for any of 200 servers. You need a list of all the MDF, NDF, and LDF files on there whether attached or not. Hope you didn't use any non-standard extensions! Make a table of all the files on the system:
CREATE TABLE #SQLFILES (Filename varchar(1023) null)
INSERT INTO #SQLFILES EXEC xp_cmdshell('dir f:\ /s /b')
DELETE #SQLFILES WHERE RIGHT(Filename,3) NOT IN ('MDF', 'NDF', 'LDF') OR Filename IS NULL
Repeat the INSERT - EXEC for each drive letter used by SQL Server. I hope you were consistent across servers, if not use "SELECT DISTINCT LEFT(filename,1) FROM master..sysaltfiles" to list drive letters and use them to generate the INSERT - EXECs dynamically.
Then join this table to sysaltfiles to find the files that are currently attached.
SELECT Filename, CASE WHEN b.Filename IS NULL THEN 'Detached' ELSE 'Attached' END AS [Status]
FROM #SQLFILES a
LEFT JOIN master..sysaltfiles b ON a.Filename = b.Filename
Put this in an sproc on each server and call them from your admin system to build the complete list. You probably want to elaborate on this a little, maybe add @@SERVERNAME to the query and/or replace the drive letters in the filenames with the UNC shares the drives are mapped to.
I haven't graduated to a SAN with mountpoints, I don't know how that would affect this process. I'm also assuming that the file shares used by each server are unique to that server, and that the SQL Server file shares are not also used extensively for other purposes (i.e. the "DIR /s" should not return an excessive number of rows).