I probably have super skewed view on the matter, but what is the point of expelling someone for cheating? Not everyone learns the same way and not everyone needs the same set of skills/knowledge. I feel like people put way too much value on a degree considering what real world is like.
So far in my short SW engineering career I haven't used a single thing I "learned" from my B.Sc degree, but what school did was to let me hang around with same minded people for few years which encouraged us to work on side projects together which taught us way more than any class.
That being said, I didn't cheat either, but I don't think cheating once is a good grounds for expelling someone.