Yup - you are using default values. Which means if the user doesn't have access to the data, you are going to have "disappearing" data - the store data for use when offline is used if the user is actually offline - yours aren't - they just don't have access.
Instead, I think you should add form load rules. In InfoPath 2010, those are on the data tab of the ribbon - in IP 2007, under Tools / Form options.
Then, as I said above, you'd want to use conditions on your rules - you don't want to go setting those fields unless the form is new - you'd need to make sure those fields are blank. Let's pretend that one of the fields you are setting is called Product, just so I have something concrete to talk about.
When the form is opened, you'd have open rules that would have the condition:
Product is blank
Then the rule actions would:
-
Query the data connection
-
Set the Product field
Based on what you've said above, however, you may need to put the rules to set fields on the field that is providing you with your ID - you say your default values are using filters, so I imagine the user is selecting something in the form that you are basing your filters on. Hope that makes sense.