Which is one reason why I personally tend to avoid using layers and why we as a company are depending more and more on automating the 'management' (control of visibility) of referenced objects, such as Sketches and Datums (and if you wanted even more 'aggressive' hiding of referenced objects, such as trimming surfaces and such, in the 'white space' of the Part Navigator, press MB3, select Properties and toggle the 'Hide Objects When Used' option ON).
The thing that you have to remember when 'working in context' is that it's the Displayed Part which controls how objects look, including which Color table to use AND which layers are visible or not. So even if you save the Component's part file with the Sketch layer invisible, if you use the Entire Part Reference Set in the Assembly and the Assembly's Layers are set as Visible, the layers of the Component will be as well.
The problem with Layers is that while every object has a Layer assigned to it, the status of that Layer is owned by the Part File itself and in the case of an Assembly, the Displayed Part.
Note that the best practice that has evolved over the years has been to depend more and more on Hide/Show (Blank/Unblank) and the use of Reference Sets to act as filters (remember, objects which are NEVER loaded into the Assembly can NOT have their Layer status mis-assigned). The advantage of Hide/Show is that this status is owned by the objects themselves and cannot be overridden by the Assembly unless you explicitly do that on an object by object basis.
Anyway, I know that this doesn't really help with your current situation, but perhaps it will help you establish some best practices going forward which will make these problems less of an issue in the future.
John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
To an Engineer, the glass is twice as big as it needs to be.