out as a parameter is a contract; the method is obliged to fill it in. I'd
say you have three options:
1) The out really is a contract; therefore if you can't fulfill that you
throw an exception.
2) The value coming out is optional, in which case change it to a ref int,
and indicate in some other way whether you actually filled in the value.
3) The out is more like a db integer; you want to be able return null. You
might want to consider looking at the SqlTypes in the System.Data namespace.
Hope that helps.