Hey Jim, for that code, it gives a different error.
[CMSAbstractTransformation.DataBind]: Object cannot be cast from DBNull to other types.
I'll play with it some today and post back here if I find the solution. I feel like the problem is related to IfEmpty getting confused about all that stuff in the 3rd parameter. It seems as though IfEmpty is returning "no this is not empty" due to something in the syntax for that 3rd parameter.