A ver...
Cuando insertas una nueva empresa no pasa nada en las otras tablas...
Si insertas un usuario nuevo controla que le pongas una de las empresas existentes en la tabla empresas. Si no existe la empresa el INSER INTO dará error...
Si lo que quieres es que id_Usuario=1 corresponda a id_Empresa=1 no estas enfocando bien el problema, de entrada esto solo te permitiria un usuario por empresa con lo que lo podrias guardar en la misma tabla que la empresa....
id_Usuario=1 puede corresponder a cualquiera de las empresas para eso tienes el campo id_empresa en la tabla usuarios para indicar a que empresa corresponde. Así puedes tener n usuarios relacionados con una empresa.
Con esta query puedes ver lo que se consigue.... guardando una sola vez los datos de la empresa aun que tenga muchos usuarios asociados