No se si te entienda pero asi es como fuciona un messageDLG, yo creo que debes plantear mejor el como solucionar dicho proceso, "el valor de la compra excede al credito asignado al cliente", ahora si quieres que al presionar el boton OK realice una operación, puedes hacer esto:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
case MessageDlg('credito insuficiente', MtInformation, [mbOK,mbCancel],0) of
mrOK : begin
showMessage('lo siento para otro dia sera');
end;
mrCancel : begin
showMessage('que tanto, si me hechan...me pagan los años de servicio');
end;
end;
espero que te sirva de ayuda......si no especifica mejor tu problema y te hecho un cable