It turns out that this is a PuTTY issue as opposed to an Emacs issue, so I apologize for abusing the Emacs forum. Since the frustration started with trying to configure Emacs though I'm guessing that others may run in to the issue too and so I'll post my own answer to hopefully provide those poor souls with some solace.
It seems that PuTTY does not send any keyboard codes for CTRL combinations with certain keys (including [home] and [end]). So, when using PuTTY the CTRL-[home] that I enter on the keyboard doesn't even get to bash or Emacs and so there's no way to bind that to anything. This is unfortunate.
Other terminal software may do this though. I know now that my xterm (I'm using Cygwin with XFree86 from Windows) does. So when using xterm, and launching character mode Emacs from there (emacs -nw), I can get the behavior I want. I have also realized that I can get that behavior if I use an XServer and launch the X version Emacs from PuTTY (emacs) too. So I don't have to completely abandon PuTTY.
Well, at least I learnt something today. I hope this answer helps someone else one day.
Here's the relevant section of my .emacs file ...
;; * PuTTY doesn't send control characters for CTRL-<home> or CTRL-<end> so there's
;; no way to make those key combinations work in character mode Emacs launched from
;; a PuTTY terminal. Character mode Emacs will work if launched from an xterm
;; though and X mode Emacs launched from PuTTY will work too.
;; * Also, PuTTY mis-maps the <end> key to <select>
;; Make CTRL-<home>/<end> work like in Windows.
;; X mode Emacs or character mode Emacs launched from xterm only.
(global-set-key (kbd "C-<home>") 'beginning-of-buffer)
(global-set-key (kbd "C-<end>") 'end-of-buffer) ;; Works in X, not in PuTTY
(global-set-key (kbd "C-<select>") 'end-of-buffer) ;; For PuTTY
;; Make <home>/<end> work like in Windows
(global-set-key (kbd "<home>") 'beginning-of-line)
(global-set-key (kbd "<end>") 'end-of-line) ;; Works in X, not in PuTTY
(global-set-key (kbd "<select>") 'end-of-line) ;; For PuTTY