Rozne pomenovane fcie nedelaji stejnou funkci. Aj rovnaka vec sa da urobit viacerymi sposobmi, a kazdy sposob moze mat ine nevyhody, ak mas moznost pouzit viac roznych sposobov ako urobit rovnaku vec, je to IMHO vyhoda, nie? V tomto pripade nejde o multiplatformost, ide o moznot urobit jednu vec na jednej platforme dvomi roznymi sposobmi.
Co sa tyka MS VC++ tak si MS asi povedal ze urobi rozsirenejsie ale podobne fcie napr. k fcii open tak nadrbal do nazvu podtrzitko (_open, http://msdn.microsoft.com/library/default.asp?url=/ library/en-us/vclib/html/_crt__open.2c_._wopen.asp), potom bud mapuje v headri nazov "open" na spravnu fciu podla toho ci unicode, tchar, a podobny bordel, alebo open vobec nedefinuje a pri portovani clovek vidi ze aha pozor windows ma bordel v znakoch (1byte vs. 2byte character, apod.).
BTW. zaoberat sa nazvami fcii/makier je IMHO dost divne (ako som pisal moze si to nazvat ako chce cez #define).