E> Да нет... <shellapi.h> был включён в головном файлк программы... и перекомпиляция делалась через очистку и сборку заного...
А "головном файлк программы" точно имеет отношение к тому файлу, в котором вы ShellExecute вызываете? Чудес ведь не бывает — если нужный заголовочник включен — компилятор должен знать функцию. Ещё можно предположить что у вас есть директория в которую компилятор смотрит вперёд стандартных и находит там файл shellapi.h а это не есть майкрософтский, а к примеру кто-то его просто так назвал — но такое предположение слишком уж фантастично.
Короче, либо не тот файл, либо не туда включён. А как ругается компилятор?