По крайней мере для int можно использовать null, для double соответственно double.NaN
Надо не на тип заморачиваться, а на состояние. Например, в привычной мне системе, где всё это из коробки - #BAD, #COM, #PEND, #WAIT и т.д.
Даже не думал, что где-то это надо самому рожать.