I'm getting to think that WFS connections simply do not work in the ESRI and FME world, when they are realistic life-sized services. I was hoping something would be fixed for release 10, and maybe a patch for 9.3...but I don't see any significant discussion on the topic anywhere.
When a user makes a WFS connection using the Data Interoperability extension, the connection is cached by default. This means that when the user views the connection features, all of the features are read and indexed, and the cache is given a 24-hour lifespan. Subsequent views of the same connection features will be taken from the cache instead of live from the WFS server.
In order to make use of the live non-cached WFS data, the user must ensure that the "Numeric Identifier Attribute" field is entered. (Connection Properties -> Parameters). This is the field name of the primary key. When the Data Interoperability extension sees this field populated, it turns off caching for this data and instead makes live feature requests based on this numeric key.
The benefits of the live (dynamic) WFS requests are that changes to the WFS data can be seen presently instead of delayed until the cache is refreshed. The downside is that the live requests are slower, especially when ArcObjects requests one feature at a time (such as when viewing the attribute table or performing a Geoprocessing task.)