Por toda essa discussão, presumo que a razão para verificar o id máximo é saber qual id deve ser o próximo. (Se meu id máximo for 5, o próximo será 5 + 1 = 6).
>> Se este não for o motivo, minhas melhores desculpas
Caso se outra pessoa inserir informações entre o seu CHECK e INSERT, você obterá um ID incorreto.
Portanto, pode ser resolvido se você criar um hash que possa incluir carimbo de data / hora ou outro valor exclusivo.
Então, na mesma função você pode inserir suas informações com valores vazios e seu hash. Isso criaria ID se você tiver AUTO_INCRECEMENT selecionado.
Então, na mesma função, você ainda teria seu hash e poderia procurar por id com o mesmo hash. E então você pode preencher os valores vazios com mysql UPDATE.
Isso inclui um pouco mais de conexões, mas ainda é uma maneira de fazer isso ...
Boa sorte para resolver isso.