First of all this is under OpenBSD 3.9 but that should be immaterial to the issue.
Basically if I run startx from a shell X starts and my .xinitrc is parsed/executed and all is well. Since I'm using X more I decided to enable xdm (via echo "xdm_flags="" > /etc/rc.conf.local; reboot; ) instead of launching manually from a shell. Now when I log in through XDM my .xinitrc isn't parsed/executed and I have to run it manually (fvwm notices my .fvwmrc so that part is working as expected).
I'm not doing anything too complex and everything is rather 'stock' with changes to the default install are overridden in my home directory such as .Xdefaults and .fvwmrc . I'm using .xinitrc to set a pretty background (via xv(l) and to start an ssh-agent)
Any ideas on how I can figure this out? I should probably investigate how XDM is launched and actually read the startx script, but I'm going to gamble on someone else already knowing why this happens.