Si AL, mira  este es código que utilicé, y ya no me marca error, pero no me genera el resultado esperado.
El resultado esperado es que con esta información que se tiene en la BD se genera un archivo que se envía vía ftp a un servidor para que se procese, por consiguiente cuando el otro sistema lo quiere guarda en su BD no puede dice que está dañado el archivo.
- var 
-   keytmp: TStream; 
- begin 
-   if Datos.FindField(CampoKeyDecr)<> nil then begin 
-     keytmp := Datos.CreateBlobStream(Datos.FieldByName(CampoKeyDecr),bmRead); 
-     KeyEncrip.LoadFromStream(keytmp); 
-   end; 
- end; 
donde 
KeyEncrip: TMemoryStream;
Datos: TZQuery;
CampoKeyDecr: string = 'nombre del campo tipo blob en MySQL'
cuando usaba BDE se tenia lo siguiente:
- var 
-   keytmp: TBlobStream; 
- begin 
-   if Datos.FindField(CampoKeyDecr)<> nil then begin 
-     keytmp := TBlobStream.Create(TBlobField(Datos.FieldByName(CampoKeyEncr)),bmRead); 
-     KeyEnCrip.LoadFromStream(keytmp); 
-   end; 
- end; 
con este código, si esta funcionando bien, pero ahorita lo que se esta haciendo es quitar la capa del BDE y sustituirla por Zeos
gracias de antemano.