it sounds like you're using it correctly, I'm not sure what you're missing. The typical process would be
create your info object, add a private variable for your boolean,make sure you set your null boolean value in the constructor and then add a property for it, that you then use in your controller e.g.
in the *Info class
Class SomeInfoClass
private _myoptionalfield as boolean
public sub new()
_myoptionalfield=Null.NullBoolean
end sub
Public Property MyOptionalField() As Boolean
Get
Return _myoptionalfield
End Get
Set(ByVal Value As Boolean)
_myoptionalfield= Value
End Set
End Property
end class
and then in the *controller
Class SomeControllerClass
Public Sub WriteMyValues(ByVal objSomeInfoClass As SomeInfoClass)
DataProvider.Instance.WriteMyValues(objScheduleHistoryItem.MyOptionalField)
End Sub
End class
Cathal