Hi all,
So recently I had a customer who has multiple AD sites and we had created them an app which worked based off the default AD Site requirement within ConfigMgr.
An app had been created with 4 deployment types, each type calling a different settings file based on location.  Like so..

and each deployment type had a standard requirement on, an ‘out of the box’ one if you will. Like this;

Makes sense right? Here’s the funny part.   When we deployed this as available to machines, it would show in the Software Centre and work perfectly.  It would check the conditions and install exactly as it should do.  But when it was added into a task sequence the condition would evaluate wrong, it would then show in the appenforce.log as not being required and step over it.
I tested a few scenarios (cost me a bit of time actually – no swear words, honest) and managed to fix this with a custom global condition.

I populated the condition like this:

Pointing it at the Regkey: HKLM\System\CurrentControlSet\Services\Netlogon\Parameters\DynamicSiteName  -where the string stored in it corresponds to the AD site.
Retested and VOILA! it now works as expected in both scenarios.
Cost me some time today, but hopefully will save you some in the future.