Parsing /etc/profile.d is intended for log-in shell. So appropriate section shoud be in /etc/csh.login and not in /etc/csh.cshrc. Yes, (t)csh interprets these files in reverse order, but we can't change this. What we *should* honour is the same behaviour for all shells when sourcin startup scripts.
And please write down to this scripts that they are for shell initialization and other is meaned for login set-up (/etc/profile, /etc/bashrc, /etc/csh.*).
Will be fixed in 2.5.0-1; thanks!