How to prevent child objects to move ?
That is exactly what Dupli Groups are for.


Create a group that includes all the individual components.
Add this group as an instance into the scene: Add > Group Instance. This instance will behave like one object.
You can link a group from another file, which could represent that library you want to create. In the library file you have still access to all the groups components and you can edit them, but the linked instance will behave like one entity.


This has also other benefits like saving memory if you need multiple instances of the same group.