I'm having a similar problem, but my workflow is what is causing the problem. I have an InfoPath form with a boolean true/false field. It defaults to false and is only ever modified by my workflow. Form is submitted, workflow runs and depending on the flow it may set the value in the column in SP to either Yes or No. If I set it to Yes and open the form, a rule runs and triggers based on it being true. The odd thing, and my problem, is that when the workflow later sets it to No, and I see it in my SP form library as No and open the form, the rule still triggers thinking it's true. I then can go in, edit the value from SP itself (check and uncheck the box), and then the form recognizes now that it's false. Somehow the workflow setting it to No is not being seen in InfoPath as false. Boggles my mind.