Yes it is an major annoyance, especially after nearly 20 years of using these keys daily in my programming, I keep doing exactly that and finding myself at either the top or bottom of the document!
And yes, home and end keys have acted like this as far as I can remember, and seem pretty standard across most operating systems; Window, Linux, BSD, the list goes on. In fact Mac OS X is the only operating system that I've used that seems to stray from the 'norm'. I'm afraid we can't blame Windows for this one
Anyway, custom key bindings would be ideal, even if it is just a case of adding an extra line to preferences.txt, or maybe a new file keybindings.txt
I might be able to hack in the home and end behaviour I would like to see, but it wouldn't be pretty! I don't think I could manage to read various layouts from a configuration file without a lot of research.
More and more things are making me want to move back to Linux anyway, but that's a whole other story! So I may not have this trouble much longer, but perhaps this is something to consider for a next release, sounds like a lot of Emacs users would appreciate it, and I'm sure a few Mac users too!