I was able to create the exact thing you are describing. Maybe someone else has seen this issue before, I have not come across. Going back to .NET WinForms days, and from what I see with my little example, is that Conditional Formatting is not applied until you tab out of the textbox control. When you tab out, it goes to the next visibile control and then conditional formatting is applied.
To create issue >> create a simple form with a blank data source >> drop on three textboxes >> set conditional formatting on the second >> the conditional formatting rule would be if field1 is blank, hide field2 >> preview the form >> type text into field1 and when you tab you go to field3, not field2.
I tried doing something like XDocument.View.SelectNodes(XDocument.DOM.selectSingleNode("//my:field2")); in the OnAfterChange event but that will not work either becuase field2 has not been made visible yet. So the OnAfterChange event is being raised before conditional formatting.
That is as far as I can get right now...
Jason
http://www.k2distillery.com/