No deberías tener que hacer algo como esto. Para el escenario que comentas, suena más lógico que el ID de la primera sea un Foreign Key en la segunda.
Pero si tienes que hacerlo, hazlo dentro de una transacción al menos...
Código:
--Realizar un Rollback en caso de error usando XACT_ABORT
--O mejor aún, implementa una rutina que controle los errores
SET XACT_ABORT ON;
DECLARE @LastId AS INT;
BEGIN TRANSACTION;
INSERT INTO InmUbi(Calle, col, del)
VALUES(@Calle, @col, @Del);
SELECT @LastId = SCOPE_IDENTITY();
SET IDENTITY_INSERT dbo.inmDat ON;
INSERT INTO inmDat(Id, m2sup, m2const)
VALUES(@LastId, @m2sup, @m2const);
SET IDENTITY_INSERT dbo.inmDat OFF;
COMMIT TRANSACTION;