Hi Mark -
If I understand your situation correctly, this use-case could be addressed with a PropertySource targeted at the specific device class coupled with a singleton (non-AD) DataSource designed to collect data from each of the expected FRU modules.
In this case, you'd write a PropertySource that would specifically identify the device in question and and assign a targeted system.category (e.g. "CiscoCatalyst3750"). Then you could write/modify a single-instance DataSource -- which apply only to "CiscoCatalyst3750" -- that would specify as datapoints from each of the known FRUs in a 3750. By having the datapoints alert on a NoData condition, any C3750 with a FRU that wasn't responding would trigger an alert as expected.