Usually assign a child to camera is a bad idea. It will work, of course, but can give a little headache in your hierarchy. Try to create a new empty gameobject and assign camera and the weapon to it (even if i dont like that main camera is a child).
For your problem, i simply cant get it and your images are not clear (i didn't see anything wrong, remember that u are in First person and the prospective). If an object is a child of another one, the child object will just follow the rotation/transform update of the parent.
Try to write your own character controller, even if people say that you can use Unity without knowing programming... well, it's a lie :)
If you need more help, please explain better your problem.