I am afraid that this is the way that OpenAccess is supposed to be working. We are intentionally not generating the default values in your code but we are rather depending on them to be generated by the backend. In order to achieve that we are requiring that each clr member that is supposed to have a default value be nullable. Each time you have a null in that member and in the same time the member is marked as having a default value we are ommiting it from the SQL insert query and thus allowing the server to generate that value for us.
Additional information regarding the default values can be found in our online documentation here.
the Telerik team