>So..... DBNull and null are not the same. Could that be the issue?
The approach of using DBNull.Value only works for a string. Integer does not support it. So far, the only way is to encapsulate that within a Try Catch. But, there is surely something more conventional.