I see your point, and I do use the object model for updating, adding and deleting the list items. I use the DCs for pulling the data when the form opens and when the view changes back to a non editable state. I did this because it was fast. It seems that if I do your suggestion I am not really utilising infopath and I may have well written it as a ASP.Net app. I am trying to promote the merits of IP by building a complete application using it as opposed to your standard expense form etc. I realise that what I am doing is quite ambitious but I am trying to promote by in.
Let me explain this in more detail:
The form has 50 elements and a dynamic set 0-n elements in a repeating list. the 49 static elements are all filtered by a primary key shared over 5 SPlists. The primary key is in the form of a drop down on the form representing a software title. The user selects a software title and the rest of the form loads up the remiaing 49 elements of info. So every element is filtered based on the the PK value :
@Software_loc[@Sofwatre_Name = SoftwareTitle] for example.
As you can see, all of these filters rely on a DC to function. So I have my 50 element in big non editable view for lookup. If the user wish to edit any element, an edit button is clicked and the form switches view to reduced editable subset such as "Edit Software Details" others being "Edit License Details" "Edit Software contacts" and on...... At this point I can cancel, save or delete. If I save, the SPListItem for that section is updated. The data connection refeshed and the view is switched back to the main one. If I cancel I call the refesh data connection and switch view, the reason being that if I have edited before canceling, the changes I made will be present when I switch views.
As you can probably tell I am pretty committed to the whole refreshing DCs thing and the issue is that this does not occurr in preview mode. And none of the other DCs are causing an issue. The DC causing the issue is looking up 25 columns in a SPList. Other closest is 16 with no issues. I do have date columns that were causing an issue on look up times throw the infamous script time out error in I.E, I have since fixed this and lookup is now around 1 second over 500 list items.
When I do fire the Execute comment on the DC the W3WP process goes bananas and Stays at 100% CPU until the post back is completed. This is most perplexing as I have no control beyond calling the execute method on that object.
I see nothing in the ULS logs ecpect when the command was issued and nothing in the event viewer. I have seen posts mentioned changing the IPFS dll for a pre SP1 version. Is this what I should be trying?