Your image helped understand what you actually want better, is slightly different from what I understood first, and indeed, Word and Notepad behave differently here.
But it doesn't matter, the way Scite and Code::Blocks do it is still correct, and should not be changed.
The key is that the beginning of a line is either the beginning of the document or the first character after a newline char, not whatever happens to be leftmost on your screen. For MS Word, the latter may even be acceptable (and possibly intuitive to some people), since it's a word processor. Historically, word processors were made for people who hit Return at the end of every line (my mother still does that today) and expect the mechanical slide to zoom left when they hit home. That doesn't mean it is conceptually correct, though. It's a relict, and a wrong one.
For many years, word processors have been working in terms of paragraphs, not lines, and they do it in every other respect, only not for some legacy keys.
For an IDE or for an editor, the way it is implemented makes perfect sense. A compiler/interpreter doesn't care if you word-wrap your sources. A new line starts after a newline char, nowhere else. Also, remember you can select words by double-click, and lines by triple-click, too. The way it is implemented is consistent with click-selecting (which is implemented as paragraph-select in Word, too.)
Think of less sophisticated languages like Python (or Basic?), or of .ini files, bash scripts, typical shell-style config files. You sure want to select a whole line if you mean to, not some random part that happens to be wrapped in a certain window at a certain time, or it can get very, very painful to track down later.
About the alt-shift combinations, I can't tell anything, have neither ever used them, nor would I know what they are supposed to do. Whatever it's supposed to do, it's weird, agreed.