Перенести уровнем выше DOCUMENT_ROOT.
В документ руте в нормальном режиме должны быть один единственный index.php и всякая (уже скомпилированная) статика вроде css, js и картинок. Всё остальное уровнем выше.
Невозможно. На любой интенсивность записи. Значение last insert id сессионное, а не глобальное.
Оберните в транзакцию - тогда до коммита никто и не увидит частично записанную транзакцию. Если говорить о транзакционных вещах, конечно, а не каких-нибудь myisam.
Если проект не наколеночная поделка одного человека за пару вечеров - то структура БД живёт непосредственно рядом с проектом и накатывается через миграции. Ну, например, описание у Yii2: www.yiiframework.com/doc-2.0/guide-db-migrations.html
Markdown - формат текстовый. Значит как текст и сохранять.
Где вы потеряли переводы строк - mysql здесь ни при чём. Ему что сказали записать, то он и запишет, и это же потом прочитает. Может сами удаляете переводы строк перед записью, может - после. Может банально выводите в формат, невосприимчивый к переводам строк, например в HTML.