Hay varios problemas, pero el más grave es que cuando creas un <LI> nuevo, no se le declaran sus eventos de ratón asociados, asi que ese LI dejará de ser "draggable", y hace que el resto funcione mal.
Lo mejor es usar el elemento padre UL, y hacer programación de eventos delegados (los eventos los caputra el padre, y decide qué hacer.
Como estaba aburrido, y el código es muy sencillo, he borrado lo que no me hacía falta y he dejado lo básico:
http://jsfiddle.net/marlanga/8qR7m/2/