Hola, 
Ante todo Gracias Anticipadas. No logro conseguir que funcione esta aplicacion. Concretamente no realiza una sencilla operacion de Resta. Me he pasado todo el dia y no encuentro el error. Es como si el procedimiento Test_Operacion no procesara el procedimiento Nuevo_Saldo. Lenguaje de programacion Pascal. Utilizo Free Pascal IDE. Un saludo. 
Codigo:
program CuentaBanco;
uses crt;
var
        SaldoActual, ImporteCheque     : Real;
        Mensaje                                  : string;
procedure Introducir(var Saldo : real; Importe : real);
        begin
           Write ('Introduce el Saldo actual de la cuenta: ');
           Readln (Saldo);
           Write ('Introduce Importe del Cheque: ');
           Readln (Importe);
        end;
procedure Fondos_Insuficientes(var Mensaje : string);
        begin
           Mensaje := 'Fondos Insuficientes'
        end;
procedure Nuevo_Saldo(var Saldo : real; Importe : real; Mensaje : string);
        begin
           Mensaje := 'Cantidad descontada en cuenta';
           Saldo := Saldo - Importe
        end;
procedure Test_Operacion(var Saldo : real; Importe : real; Mensaje : string);
        begin
             if Importe < Saldo Then
                Nuevo_Saldo(Saldo, Importe, Mensaje)
             else
                Fondos_Insuficientes(Mensaje)
        end;
procedure Visualizar(var Saldo : real; Mensaje : string);
        begin
           Write ('Saldo actual = ',Saldo:4:2,' ',Mensaje);
        end;
BEGIN (* programa principal *)
        ClrScr;
        Introducir(SaldoActual, ImporteCheque);
        Test_Operacion(SaldoActual, ImporteCheque, Mensaje);
        Visualizar(SaldoActual, Mensaje);
        Writeln;
        Readln
END.