Hola
Sigo pensando, lo has hecho alreves.?
Código SQL
[-]
SELECT DISTINCT dbo.dtInstituciones.NombreLargo, dbo.dtInstituciones.NombreCorto, dbo.dtDirecciones.ID_institucion, dbo.dtDirecciones.Calle, Last(dbo.dtDirecciones.ID) AS dtDirecciones.ID
FROM dbo.dtInstituciones INNER JOIN dbo.dtDirecciones ON dbo.dtInstituciones.ID = dbo.dtDirecciones.ID_Institucion
Tal vez last en primer lugar lo interprete diferente, no se pruebalo.
Saludos