O cache de meta-dados do Firedac mantêm as procedures em uso, depois de disparada pela primeira vez. Já me disseram que bastaria um: MyFiredacConn.Params.Values['schema_cache'] := '0'; Que supostamente evitaria 'object in use' quando se altera procedures, mas isso não deu certo comigo.