Любые программы, в том числе и игры, работают по такому протоколу, как решили их разработчики. Не надо говорить за все игры.
Если ваше приложение работает по UDP, то потери возможны. Для начала определитесь, что вам важнее: скорость или надежность.
Ну, запускайте крон каждую минуту.
Если select ничего не вернул - закончить работу. Нагрузка близка к нулю.
Если вернул - опубликовать. Это нужная нагрузка, от нее никак не избавиться.
Любой планировщик должен ежеминутно проверять, не наступило ли нужное время. Это нагрузка будет как минимум НЕ МЕНЬШЕ крона. А, скорее, гораздо больше. Плюс лишний посредник и точка отказа.
Плохой совет.
После htmlspecialchars() код-то, конечно, будет безопасным, но совершенно бесполезным! Ключевое слово - редактор ВИЗУАЛЬНЫЙ. То есть там гарантированно будут теги. И после htmlspecialchars() эти теги будут видны. Для обычного посетителя выглядеть это будет очень странно.
2. вместо .change( лучше .on('change'