программа не увидела настоящий mac-адрес
Программа прикладного уровня MAC-адрес и не увидит, потому что это уже канальный уровень, почти другой конец модели OSI.
Если IP не менялся, то, в теории, ARP должен разрулить ситуацию с изменившимся маком и соединение не разорвать.