One thing that jumps out at me is that you still aren't checking for Null. If Nulls can appear in these fields, you must deal with them appropriately.

Null is very different to an empty string.. most programs (including Crystal if I remember correctly) will not display anything if there is a Null, even if you append it to a valid string.

Also comparisons (like {tblProducts.AdventProductCD} <> "") do not work as you would expect - if AdventProductCD is Null, does the condition evaluate to True or False? I could be wrong, but I think it evaluates to True in Crystal - so you get the problem of not being displayed as mentioned above.