O Node.js faz tudo o que não é vinculado à CPU - como operações de arquivo, acesso à rede/banco de dados - de forma assíncrona, o que é necessário para mantê-lo tão rápido quanto é.
Portanto, você precisa fazer tudo o que deve acontecer após a conclusão da consulta na função de retorno de chamada :
function start_query(callback) {
conn.query('INSERT .....', function(err, rows, fields) {
if(err) {
console.log("Err!");
} else {
console.log("INSERTED!");
}
callback();
});
}
start_query(function() {
console.log("QUERY DONE!");
});