I recently used SPServices to build cascading lookups: parent as a single lookup, child as multi-lookup (v0.7, worked like a charm).
I got an additional request from the user, to chain selections. Here is how it would work.
1/ User selects Parent 1. Child lookup gets automatically filtered to display Child 1.1, Child 1.2, etc.
2/ User selects Child 1.1
3/ User selects Parent 2. At this point the lookup should list Child 2.1, Child 2.2, etc. on the left, and keep Child 1.1 on the right.
Has anybody done something similar? With the default behavior, the child field is reset and the user loses his/her first selection.