You're probably overlooking the additional attributes set in the cterm= field for those highlights.
For instance, after I set ctermfg=black ctermbg=white for StatusLine, I get this when I query it:
StatusLine xxx term=bold,reverse cterm=bold,reverse
ctermfg=0 ctermbg=15 gui=bold,reverse
You'll see the cterm=bold,...
Why the colorscheme is loaded twice
This is slightly speculative, since your excellent and detailed question nevertheless still doesn't contain quite enough information about your setup to be certain, but I believe what is happening is this:
When Vim starts up, one of the first things it does is load your $VIM/vimrc file, which loads your colorscheme, thus ...