вот ведь в чем загвоздка-то — можно кучу времени убить на философские рассуждения о бытие сего скринсейвера, а можно навтыкать кучу отладочных сообщений (в лог-файл или
OutputDebugString+
DebugView) и посмотреть какие коды ошибок возвращаются и к каким файлам обращается программа.
так же весьма полезная функция
GetFullPathName
p.s. а если ресурсы должны быть настраиваемы юзером, то, имхо, лучше их положить в район "Application Data" или "Мои документы", иначе система/админы могут быть против