Команда start интерпретирует первый аргумент как заголовок окна, если он содержит пробелы. В этом случае это означает, что start считает весь ваш аргумент заголовком и не видит никакой команды. Передача "" (пустой заголовок) в качестве первого аргумента start устраняет проблему.
Ответ 2
Если вам нужно увидеть результат выполнения, используйте CALL вместе с или вместо START.
Это запустит файл file.exe и вернет все, что он выводит, в том же командном окне. Запомните PAUSE после вызова, иначе окно может немедленно закрыть.
Ответ 3
Если это просто упрощенный пример для вопроса, я советую отказаться от пакетной оболочки и запланировать PHP напрямую, в частности программу php-win.exe, которая не откроет ненужные окна.