Здесь нет ошибки: в русском языке довольно свободный порядок слов, и части составных союзов вполне могут разделяться несколькими словами, например: Я только тогда бываю спокоен, когда она сидит у меня на коленях и я пою ей: «Ой за гаем, гаем!» (Л. Вертинская). Мы потому так подробно остановились на этой ситуации с проблемой четырех красок, что, знай о ней Витгенштейн, она привлекла бы его внимание (В. Успенский).
Оборот тогда и только тогда — специфическая формулировка, которая используется чаще всего в математике, логике и философии и часто выносится в начало предложения.
Запятая не нужна. Между однородными придаточными, соединенными соединительными или разделительными союзами, запятая не ставится. А перед придаточным (после тогда) запятая ставится.
Последний день - 17-е число.
Наши обыденные представления о времени позволяют не замечать «немного абсурдный» смысл, возникающий в случае, если между датой и временем не будет поставлена запятая. Впрочем, вариант с запятой тоже возможен. Подробнее о таких конструкциях см. ответ на вопрос № 318421.
Правильно: когда бы ни.