Если проект библиотеки определяет некоторые переменные и служебные функции в своем stdafx.h / cpp, будут ли они видны в проектах приложений, построенных поверх библиотеки?
Да и нет, их нужно экспортировать так же, как и все остальное. Прекомпилированные заголовки предназначены для ускорения компиляции, они не влияют на создаваемый исполняемый файл / библиотеку.
Нет, это деталь реализации только для библиотечного проекта. И, как правило, он не содержит декларации, предоставляемые библиотекой, они предоставляются файлом .h, который должен был быть #inclined в исходных файлах вашего собственного проекта. Библиотека stdafx.h может включите этот файл .h, он не очень распространен.
Вы используете свой собственный предварительно скомпилированный заголовок, если вы хотите #include библиотеки .h файл (ы), то это ваше дело. Полезно, только если вы используете декларации библиотеки в нескольких исходных файлах вашего собственного проекта и библиотека стабильна.