Jeśli chodzi o kod, to powinien być przenośny, o ile nie korzystałeś z czekoś zależnego od platformy. (np. Windows.h)
Binarka oczywiście będzie chodzić tylko na Windowsach (ewentualnie Vine na Linux lub inne podobne rozwiązania), ale ponieważ pisałeś w VS2013, to prawdopodobnie nie ruszy również na XP, a przynajmniej ja tak zawsze miałem, chociaż wg. MS można jakoś sprawić, aby i na XP program się uruchomił.
Co do tego, jak to robią duże firmy, że działa na wszystkich OS, to na przykład używając MinGW program działa na XP, a dodatkowo piszą kod nie zależny od platwormy dzięki czemu można go skompilować na zupełnie inne systemy np. Linux lub OSX.