.xsession is a single user file maintaned by the user itself.
I have not taken into account any OS as any OS can be setup as terminals, pcs, workstations or servers. The extra line about small or single user systems and large or multi user systems was to clarify in general therms oposit the specific example.
In regards to debuging in this case i would say cut the .X.d layer away if anything, but i totaly agree with point of view in regards to follow standards, instructions, principles but this is not out sides those.
do you need a script to start your application, setting up enviroments and so fourth place it in .X.d
or else .xsession is just fine.
.X.d can also be used for what the admin thinks needs to be started with no user control.
Taking all the things in my last two posts into account sometimes it becomes best practice to use .xsession, by the way its there for the user for a reason