If the /etc/X11/Xsession.d/98xbindkeys script is moved to another location, and then a desktop file dropped in /etc/xdg/autostart/, I believe the startup order will be corrected.
I've moved the /etc/X11/Xsession.d/98xbindkeys to /usr/bin/xbindkeys_autostart, made it executable, and use the attached desktop file (placed in /etc/xdg/autostart/).
This provides the same override logic as before, but starts xbindkeys after the user's environment has been properly setup. Thus, any terminals launched from xbindkeys have the proper references to agents (like SSH).
xbindkeys.desktop
Description: application/desktop