I'm a couple weeks off from 6 years working part time for a grocery store. I started working there in high school, and now work while in college--so I was that teenage cashier (and am that teenage cashier, at least for a little while longer...).
Until I read your description of the bagging setup, I thought "So what?" to the first situation. I don't work front end anymore (thank God!), but when I did work front end, people left purchases on the register all the time. I personally wouldn't have handed off someone else's purchases to a new customer, but that's only because I was pretty anal about where things went on my bagging station. Many of the kids I worked with would have accidentally given you someone else's stuff. In the department that I work in now, it's a lot harder to do that, as all the bags are in front of you and you're expected to take them, so we'd notice if you didn't immediately, but a couple months ago both my coworker and I were ringing up huge orders. Our counter space is very small and not well defined, so it was hard to keep the bags separate. When his customer left, he accidentally grabbed one of my customer's bags--neither of us noticed it because we were both working transactions at the time. When my customer noticed it, we replaced the items immediately--and later on, the customer who took someone else's items returned them. With the bagging setup you described, giving one customer's items to someone else would be a lot harder, but absolutely still possible, especially if customers are expected to take their items off the rotator.
As for the second situation...I'm not sure what I think. I've been the kid behind the big order in line with a 15-minute break and nothing but a candy bar to purchase, so I definitely feel for the coworker he stopped to ring up. But personally, as a longtime cashier, the very least I would have done is asked my customer if they minded me stopping for a second to ring up the coworker, and more likely I would have bagging before doing anything. In a lot of cases, based on the customers I've worked with over the years, the customer will notice the coworker waiting for a small item and tell me to ring it up. Any way, I'm happy--I'm a fast enough cashier/bagger that my coworker won't be waiting very long, and any way my customer ends up happy. But I've also been doing this for a very long time--I have no idea how 14-year-old me would have reacted to this situation.
As for whether or not you should have complained...I do not feel that I am both qualified and unbiased, so I'll simply refrain
