Please edit the file /usr/lib/liveconfig/lua/bind.lua and remove the two comment dashes from line 604:
Then restart LiveConfig, delete your domain and add it again. Then please check if the zone is valid now.
The behaviour is really strange, as LiveConfig indeed sends the NS records first, but your zone file proves that they "arrive" in a wrong order - without any resorting in between! However, LiveConfig often uses standard structures (eg. arrays from C++ STL), I assume that the different behaviour is hidden here anywhere...