I've created an Ender Dragon (NETWORK_ID is 53 by the way) in a chunk, with custom Boss Bar. It works. I tried to remove it. It still there, doesn't go away, like nothing happened. I unload the world, and load it again. Load the chunk, and "Corrupted chunk detected". The entity is gone, but the chunk is okay then. That's with mcanvil. If i switch to mcregion, the server frozen. The packets of the boss bar isn't affect the server-side I assumed, since it's only send to clients. What makes this Ender Dragon destroy the chunk? If I stop the server and load the chunk, it recovered normally.
If the server detected a currupted chunk because you did send something to the client, then we would have a hell of a security issue here. But I'm sure we do not. You did probably more than just sending the player a SpawnEntityPacket...
I did spawn the dragon like another entities, following by the UpdateAttributesPacket and BossEventPacket (not implemented yet, but how a client packet affects the server?) I did spawn the entity with spawnToAll() function. There's probably the thing with storing the entity data to the world maybe? Note: Completely fresh UpdateAttributesPacket and BossEventPacket following after the dataPacket() function, no extra code included.