Lo que puedes hacer es sí, con una base de datos tomar los índices y los datos importantes de las caciones, por ejemplo:
Private Type StructDB
Author As String
Tilte As String
MD5 As String * 32 '¿? 64 bits ¿?
End Type: Dim Song() As StructDB
Entonces cargas los datos de la BD en Song(), verificas que los archivos de audio existentes, sean los mismos que figuran en la BD, en el caso de haber una diferencia, en una servidor FTP, debería haber acceso a los archivos para actualizarlos en una PC (Estilo AutoUpdater) y así armas una clase que reproduzca los archivos de audio según sus indices
Así lo haría yo. Podes meterte a hacer tablas hash o demás métodos para el manager, pero la base, es esa.
Una gran alternativa a el MMControl, sería utilizar DirectX.