Una aclaración:
Hay que tener en cuenta que la API
CryptBinaryToString, cuando la usamos para codificar en Base64 (CRYPT_STRING_BASE64) codifica el buffer pasado completo y le añade un retorno de carro (13) y otro de línea (10) y un nulo final. Cuando se encripta una cadena PCHAR, el cero final también lo encripta.
No he probado con Inddy, pero el detalle que describo puede ocasionar errores aparentes en el cifrado-descifrado.
Saludos.