Alright, after getting some distance from this project for a few hours and collecting some Data here are the results:
If the GetNULL() is called on the boolean value in the SqlDataProvider
MyObject.Boolean not set = NULL in the database (GOOD)
MyObject.Boolean set to False = NULL in the database (BAD)
MyObject.Boolean set to True = True in the database (GOOD)
If the GetNULL() is not called on the boolean value in the SqlDataProvider
MyObject.Boolean not set = FALSE in the database (BAD)
MyOjbect.Boolean set to True = TRUE in the database (GOOD)
MyObject.Boolean set to False = FALSE in the database (GOOD)
So taking the case where I do use the GetNull() in the SqlDataProvider, somehow when I assign False to the Object boolean property it is getting translated via the DAL into a NULL. I know the Object is actually assigning a False value to the property because I had it assigned to a label string to verify right after assignment.
MyObject.Boolean = False
Label1.text = MyObject.Boolean.ToString ' results in showing "False"
So using the "solution" code posted in this thread...my False assignment to an object is getting converted somewhere in the DAL into a NULL value. I can't wait to spend another two days on this one simple and wholly unproductive issue.