Problém je v tom, že rozsah vaší dočasné tabulky existuje pouze v příkazu exec(). Svou dočasnou tabulku můžete transformovat na „globální“ dočasnou tabulku pomocí 2 hash znaků -> ##tempTable. Zajímalo by mě však, proč ke generování příkazu SQL používáte proměnnou @dynamicallyBuiltWhereClause.
V minulosti jsem udělal to, co děláte vy, ale měl jsem lepší úspěch při generování SQL z aplikace (pomocí C# ke generování mého SQL).
Můžete se také podívat na proměnné tabulky. Viděl jsem několik podivných případů používajících dočasné tabulky, kdy aplikace znovu používá připojení a dočasná tabulka z posledního dotazu tam stále je.