Thanks for your response.
If deal.II handles hanging nodes in the same way as other codes that's fine for me. I will recommend my colleague to study your lecture 16. I think it explains how to deal with this kind of mesh.
I think they have trouble with the discontinuity of the shape functions (or other finite element functions) but you explain in your lecture how to add constraints to ensure continuity.
I guess the need for refined meshes lead you to make this second version of deal.
PS: Thanks for your MATH 676 lectures, they are so helpful for my PhD.
Best regards
Nicolas