There's no "boldface small caps" font in the Latin Modern family, so LaTeX performs a substitution; in this case it preserves the "boldface" weight attribute and chooses the "normal" shape.
I don't think there's much to do in this case other than defining a different substitution, but medium weight small caps embedded in a boldface context is worse, I believe.
One can follow Andrey Vihrov's suggestion and write in the preamble
\makeatletter
\let\@@scshape=\scshape
\renewcommand{\scshape}{%
\ifnum\strcmp{\f@series}{bx}=\z@
\usefont{T1}{cmr}{bx}{sc}%
\else
\ifnum\strcmp{\f@shape}{it}=\z@
\fontshape{scsl}\selectfont
\else
\@@scshape
\fi
\fi}
\makeatother
(I've slightly modified the code). However this uses a T1-encoded font, so only the characters in T1 are available.
If a "boldface small caps" font with a wide covering of Unicode is really needed, one should adopt a font family that has the required shape.
cm-superpack. I recently used this hack for bold and slanted small caps with Latin Modern set as base font: http://pastebin.tlhiv.org/ixJe1C5F I'm pretty sure that there exists a more proper way to selectcmronly forEU1/.../bx/sc. I couldn't deal with the encoding, though, when I tried\DeclareFontShape. – Andrey Vihrov Jul 01 '11 at 12:19