When you place a hierarchical select inside a field collection and, during the content creation, you try to add a second field collection, the hierarchical select inside the first one lost the entered value.
The solution is to store in the
$form_state['storage'] each element before
form_hierarchical_select_process returns it using an array with keys composed using all the parents of the element.
When a key is present in the storage,
form_hierarchical_select_process returns directly the stored element.
I've done all teh work in the patch attached.
The attched patch needs review and test in a lot of cases to be declared stable.
Storing all the element coud be determine a lack of performance, it could be usefull to store only significant part of the element in the
Original report by dandaman