If I have a session file stored in Skydrive on Windows 8.1 (so possibly the Documents folder), and that file has not been downloaded from the Net, Putty will show that session in the list but not load any settings from it.
I reproduced something like this by booting PuTTYTray (having the session list open), then deleting the session file out from under it, and getting no error. I've made it at least give an error.
I'm not sure I understand what SkyDrive specific behaviour you'd expect there? I guess it could say "I couldn't find the file because SkyDrive's semantics here are utterly bizarre", but that doesn't seem all that useful?
The files are marked as system & hidden, and when accessed via the shell API there's nothing bizarre about it (it just works by blocking). Note that various other Windows (mostly server) components have been doing this reparse-point-not-really-a-file thing for years (SIS, DFS, etc.).
You could filter the files out when listing them, but that seems poor, or you should force them to be loaded when needed. It should be possible to have a Windows-only function that does the check in that MSDN article for IO_REPARSE_TAG_FILE_PLACEHOLDER and invokes IShellItem::BindToHandler on it, before continuing the normal code path to open & read the file.