I too have felt this pain.
I believe it can sometimes be because there are no automation nodes at the beginning of the loop area, so Logic carries over whatever value it was at when when stopped. To fix that, add redundant nodes to the beginnings of automation in your regions ("hyperdraw"), and consider setting loop playback a beat early.
Also, I believe this is more commonly a "hyperdraw" i.e. region-based automation problem as opposed to track based automation.
Always has peeved me that you can't easily automate Pitch Bend, Mod Wheel etc. as track automation!