Hi, Phil:
You sound frustrated. I think one of the issues is that every scenario is so different -- the data sources and the xpaths and so forth -- it does leave the waters looking muddy. There shouldn't be a problem hooking to the onChange event of a field outside of the table. To prevent having it fire twice, you'll want to use an if statement to make sure that you only fire it on insert on your changing field, because once a field has a value, when you modify it, it changes twice -- once to delete the old value, and once when it accepts the new value.
if(eventObj.Operation == "Insert")
{
XDocument.View.ExecuteAction("xCollection::insert", "repeatingGroup_2")
}
The above code in the onChange event of your field will only fire on insert operations, and, of course, you need to change "repeatingGroup_2" to the ID of your table. I hope this helps, but please let me know if you need more information, okay?
Hilary Stoupa / InfoPath DeveloperQdabra® Software / Streamline data gathering to turn process into knowledge