In the case of the MSVC runtime functions, no, there is no risk of compatibility problems if you use deprecated functions like fopen()
.
The code for fopen()
exists in the MSVC runtime library and your application either (a) links with that library statically, or (b) uses a specific version of a DLL. The DLL version used by the app will be the same wherever your app runs, so you don't have to be concerned about Windows 8 not having an appropriate DLL.
The MSDN documentation Security Features in the CRT states:
In this context, "deprecated" just means that a function's use is not recommended; it does not indicate that the function is scheduled to be removed from the CRT.