Its a good point. I was hoping to stay away from 'magic numbers'. I was hoping that the GetColumnValue function was overidable so I can do what I need with it.
By putting it to zero using ISNULL, I will not know if the actual value was zero or null because the actual value in the database could be zero as well.
If it can't be done directly then that is the answer I am looking for. I am sure 'they' will include nullable types in datasets next time around.
Thanks for spending time with this post.