Ola amigo, eu não sei oq aconteceu, mas quando eu fiz oq vc escreveu, o sql criou o registro só que onde tava as fks, ficou como null, e dps que apaguei esse registro e voltei com as fks no insert, o código simplesmente começou a funcionar kkkkkk. De qualquer jeito, agredeço mt. Ontem devo ter ficado pelo menos umas 6 horas tentando resolver isso. Obrigado mesmo!

kkkkkk se você não especificar que pode entrar um valor nulo pro MySQL ele vai obrigar você a sempre informar um valor do tipo que selecionou (int, string, etc) ele é bem. e disponha, amigo! espero que dê tudo certo com seu tcc