Antes que nada, gracias por tu tiempo Roman....
Busque en globals y efectivamente, ahi viene listado ESDMssError, pero no me muestra niguna referencia como si lo hace con todos los componentes normales de delphi, incluso aparece EDBEngineError y me muestra su referencia a DBTables. Incluso encontre que junto a EDBEngineError esta ESDEngineError de donde se desprende ESDMssError.
Lo que sucede es porque estoy utilizando unos componentes de la paleta SQLDirect (Son los que utilizaban cuando empezé a trabajar en esta empresa y no se como los obtuvieron.) que de ahi es de donde vienen las letras SD.
Buscando la información de esta paleta me encontre con la solución; que era tan simple que me sorpendí. Tenía que agregar la unidad 'SDEngine' y el código queda así:
Código Delphi
[-]
try
ExecSQL;
except on E:Exception do
if (E is ESDEngineError) then
with ESDEngineError(E) do
if ErrorCode = 2601 then
MessageBox(frmInicial.Handle,'Llave duplicada.','Error',MB_ICONERROR);
end;
Gracias Roman por la referencia.
Saludos