So, I finally got this to work. Thank you again @DougBrowning for the additional suggestions. I did find one issue with an incorrect field name I was calling that probably helped clear up some errors...but the major error was with the Count() function..
Here is the working code with some of my incremental error checking/comments:
// Get All Tap features
var const_taps = FeatureSetByName($map, "LOOKUP1",['cableid'],true)
// ESRI Communities Suggestion to fix '.' in featuresetbyrelationshipname bug
var parent_ID = $feature.pathaccessguid
var parent_ID = Upper(parent_ID)
var parent_class = FeatureSetByName($map, "Auditable Vaults",['pathaccessid','globalid'],true)
var vault = First(Filter(parent_class, 'globalid = @parent_ID'))
//var vault = First(Filter(parent_class, 'pathaccessid = 31831')) // Testing Vault
// Get All Taps Intersecting Vault
var intersected_taps = Intersects(const_taps, vault)
// TESTING
//return vault.pathaccessid + ' | ' + text(vault) + ' ||| ' + text(first(const_taps)) + ' ||| ' + Text(First(intersected_taps)) <-- FIRST STEP: THIS WORKS AND ISN'T NULL....Hmm....
//return Text(First(intersected_taps)) <-- SECOND TEST: THIS ALSO WORKS AND ISN'T NULL!!! UGH!
// SELECTS INTERSECTED TAP LINES SUCCESSFULLY.
// Check for No Intersecting Taps.... <-- THIS WAS THE PROBLEM?!
// return Count(intersected_taps) //<-- THIS RETURNS 0...WHY?!
//if(Count(intersected_taps) < 1){
// Console("No Intersecting Taps. Returning NULL")
// return 'NO INTERSECTING TAPS'
//}
// Get Splicecase(s) intersecting Taps
var const_cases = FeatureSetByName($map, "LOOKUP2",['splicepointid'],true)
var intersected_cases = Intersects(const_cases, First(intersected_taps))
// Check for multiple intersected splicecases <-- I didn't trust the Count() fuction anymore...
//if(Count(intersected_cases) > 1){
// Console("Multiple Splicecases Selected. Returning NULL")
// return 'MULTIPLE SPLICECASES'
//}
// Get Splicecase VaultID
var sp_vaults = Intersects(FeatureSetByName($map, "Auditable Vaults"),First(intersected_cases))
var sp_vault = First(sp_vaults)
// CONSOLE OUTPUTS
Console('CONST_TAPS: ' + First(const_taps))
Console('INTERSECTED TAPS: ' + First(intersected_taps))
Console('CONST CASES: ' + First(const_cases))
Console('INTERSECTED CASES: ' + First(intersected_cases))
Console('SP VAULT: ' + sp_vault)
return Text(sp_vault.pathaccessid)+'.1'
To be honest, I'm completely dumbfounded other than this must be a bug with the Count() function in Field Maps mobile? Or maybe I just don't understand something....
The output from Intersects() is definitely a FeatureSet, from which Count should return the number of features in the set...right?
So much for proactive error handling...
***SIDE NOTE: My error checking revealed that the Field Maps mobile app is not respecting the [''] field list array in the FeatureSetByName() function. It returns all field attributes ['*'], regardless of what fields are passed to it. I'm assuming that's a serious hit to performance, but surprisingly it actually executed this expression within a few seconds***