Is there any commonality that you can identify for these end users whos data isn't getting captured (such as time of day, location, browser, server, etc.)? Based on your info I am guessing it's all or nothing. I don't know your application, but is it hosted on multiple servers and you might have a different version of your application on different servers that does data validation differently (or is broken on one version where that data isn't being captured properly)?
Depending on how you're doing your field validation, (as Alexy R indicated in his response to you), if you're doing your validation on the client end and using Javascript, they may have Javascript turned off, and so they're not actually doing any validation for you and perhaps without that Javascript running, the data getting sent to your server is not in a format that's expected. Is there anything in your server (or DB) logs indicating an error on those database inserts when you don't get the expected data?
In general, relying on any sort of validation being done on the client side is not a good idea. All data validation should be done on the server side to help insure that data isn't being messed with and that your validation is doing what it should be doing. Also, you don't want a hacker trying to do SQL injection (or other bad data inputs), so you should be doing server-side validation and format checking on every input you're getting back.