Hi Mike;
1. "In the ExecuteSave(), I'm trying to update some child entities of a transaction............It seems like since the Item will have been modified, it's not entirely in the entity graph as the EM tried to lazy load the item"
Assuming that you have called SaveChanges(), without passing any particular entity to be saved, the EM inside the save interceptor will contain all of the Added, Modified and Deleted entities from the client. This also includes all the Added, Modified, Deleted, related items. This means that the EM should not try to lazy load your Item. Are you saying that it does try to lazy load?
2. Regarding the best practice to prevent lazy load, the simplest way is to make the EM DefaultQueryStrategy to CacheOnly. If you need to retrieve data from the data source, then you can write a query with a With(QueryStratergy.DataSourceOnly) clause.
Hope this helps,
Denis