Don't know if you're still searching a solution for this, but I was in the same situation (numlock turned on in BIOS, but going off at the login screen and also off in any DE).
This is what have I done to solve it:
As the login manager is gdm, I put this in the file /usr/local/etc/gdm/Init/Default (right at the beginning, after "# Stolen from ... blah ... # -George):
if test -x /usr/local/bin/numlockx; then
exec /usr/local/bin/numlockx on
So now, I've numlock on at the login screen and needed no further tweaking with Xfce, LXDE and KDE (KDE setting is "Keep as it is" or so, as I've got it in French).
Gnome still needed to tick a box in Gconf (did a serch on numlock in it to find the right place) et voila!
Hope this help.