Con el siguiente codigo guardo la imagen en un campo 'Text' en una base de Sql Server, esto lo logre gracias a la colaboracion de Victor Espina
SET PROCEDURE TO base64Helper ADDITIVE 
LOCAL loFile AS "base64Helper",lcAnio, lcMes
loFile = CREATEOBJECT("base64Helper")
SQLEXEC(controlador,'BEGIN TRANSACTION') 
lcAnio = "0"
lcMes = ""
FOR I = 101 TO 800
lcAnio = ALLTRIM(STR(I))
   lcTipoArc = "D:\guias_escaneadas\0\"
   lcPathArc = lcTipoArc+lcAnio+'\'
   gnDbcnumber = ADIR(gaDatabase, (lcPathArc)+"*.TIF")  && Create array
   FOR nCount = 1 TO gnDbcnumber  && Loop for number of databases
	STORE ALLTRIM(gaDatabase(nCount,1)) TO lcArchivo
	STORE SUBSTR(lcArchivo,1,LEN(ALLTRIM(lcArchivo))-4) TO lcArchivo1
	lcFile = ALLTRIM(lcPathArc)+ALLTRIM(lcArchivo)
	lcTpMovto = "GUIAS"
	lcExtension = ALLTRIM(lcArchivo)
	lcCodigo = ALLTRIM(lcArchivo1)
	DO conectarmeco
	cBase64 = loFile.encodeFile(lcFile)
	cBse64 = SUBSTR(cBase64,1,LEN(cBase64)-1)
	set textmerge on TO memvar lcStringSQL noshow
	\insert into Imagenes1 (codigo1, nombre, contenido,tipo_movimiento,año,mes) values (?lcCodigo,?lcExtension,?cBase64,?lcTpMovto,?lcAnio,?lcMes)
	set textmerge to
	lnresultado1 = sqlexec(controlador,lcStringSQL,' ')
	CREATE table mensaj1 (recurso m)
	INSERT INTO mensaj1 (recurso) VALUES (lcStringSQL)
	*suspend()
	IF lnresultado1 = 1
		SQLEXEC(controlador,'IF @@TranCount > 0 COMMIT')
		SQLDISCONNECT(0)
	ELSE
		Dimension laError(1)
		*** Desplegar mensaje de error
		Messagebox("Error al intentar conectar:"+laError[2])
		SQLEXEC(controlador,'IF @@TranCount > 0 ROLLBACK')
		SQLDISCONNECT(0)
		=MESSAGEBOX("Error en la actualizacion de los datos guardando.",16,"EdutSoft",m.duracion_mensajes)
	ENDIF	
   ENDFOR
ENDFOR 
RELEASE loFile
=MESSAGEBOX("Termino el proceso en el servidor")
Te comento que he trasladado mas de 70 Gigas y funciona excelente.  Y esta es la forma que utilizo para extraer la imagen y mostrarla en un formulario
loFile = CREATEOBJECT("base64Helper")
SQLEXEC(controlador,'BEGIN TRANSACTION') 
WAIT WINDOW "Espere un momento por favor...." NOWAIT 
LOCAL loFile AS "base64Helper"
loFile = CREATEOBJECT("base64Helper")
lcCodigo = ALLTRIM(STR(VAL(THISFORM.numeroconvenio)))
set textmerge on TO memvar lcStringSQL noshow
\SELECT codigo1,contenido,nombre FROM Imagenes1 WHERE LTRIM(RTRIM(codigo1)) = ?lcCodigo
set textmerge to
DO conectarmeco
STORE sqlexec(controlador,lcStringSQL,'QARCHIVO') TO a
sqldisconnect(0)
IF a > 0
	IF !EMPTY(QARCHIVO.contenido)
		LOCAL cTarget,cBase64
		cTarget = "C:\temp\" + RTRIM(QARCHIVO.nombre)
		cBase64 = RTRIM(QARCHIVO.contenido)
		loFile.decodeFile(cBase64, cTarget)
		WAIT WINDOW "Espere un momento por favor...." NOWAIT 
		DO visualizar_pdf WITH cTarget
		DELETE FILE (cTarget)
	ELSE
		=MESSAGEBOX('El Documento no esta escaneado, couniquese con el archivo',16,"Miempresa",m.duracion_mensajes)
	ENDIF		
ELSE
	=MESSAGEBOX('El documento no esta disponible por el momento',16,"Miempresa",m.duracion_mensajes)
ENDIF 
RELEASE loFile
Notaras que inmediatamente cargo el documento en el formulario lo borro de la carpeta temporal, esto lo hago para que por ningun motivo saque impresiones de la documentacion ya que es de caracter confidencial, por lo tanto el documento se ve en pantalla, pero en la pantalla no habilito los botenes de impresion, solo sen accesibles cuando el usuario tiene los roles de administrador o supervisor.
Saludos
Elkin Uribe