all dirty entities in a graph will be saved, so if an entity E1 is reachable from another entity E2, no matter which path it has to follow, it will be saved as well.
If a transaction fails, the saves will be undone, so there aren't any side effects (fields objects included).
In 1.0.2004.2, a tracing feature has been added which shows you the entities which are saved in a save action in the tracing output. In 1.0.2004.1, this isn't possible.