Problemet er, at omfanget af din temp-tabel kun eksisterer i exec()-sætningen. Du kan omdanne din temp-tabel til en "global" temp-tabel ved at bruge 2 hash-tegn -> ##tempTable. Jeg undrer mig dog over, hvorfor du bruger en variabel @dynamicallyBuiltWhereClause til at generere din SQL-sætning.
Jeg har gjort, hvad du gør tidligere, men har haft bedre succes med at generere SQL fra applikationen (ved at bruge C# til at generere min SQL).
Du kan også se nærmere på tabelvariabler. Jeg har set nogle mærkelige tilfælde med brug af midlertidige tabeller, hvor en applikation genbruger en forbindelse, og den midlertidige tabel fra den sidste forespørgsel er der stadig.