Cualquiera que sea el medio que SMO use para obtener el GUID de la base de datos, debería poder hacer lo mismo. Si tiene problemas para averiguar qué está haciendo SMO, puede usar Profiler para monitorear qué ejecuta t y averiguarlo.
En este caso, probablemente SMO lea el database_guid
valor de sys.database_recovery_status
: