Código Delphi
[-]
function busquedaBinariaRec3 (dato : integer;inicio : integer;
fin : integer; var aBB: array of integer ) : integer;
var
pivote : integer;
begin
pivote := (inicio + fin) div 2;
if inicio > fin then
result := -1
else if dato = aBB[pivote] then
result := pivote
else if dato < aBB[pivote] then
result := busquedaBinariaRec3(dato,inicio,pivote-1,aBB)
else if dato > aBB[pivote] then
result := busquedaBinariaRec3(dato,pivote+1,fin,aBB);
end;
Creo que te has olvidado de asignarle a RESULT el resultado de lo que busque recursivamente.