this all seems way to complex, why not use iif(isnull([MyVar]),"",[MyVar]). I use this in all my reports to eleminate the blank fields. A concatenate would look like this:
iif(isnull([Title]),"",[Title]& " ") & iif(isnull([FirstName]),"",[FirstNamee] & " ") &...