Tanto las funciones como los eventos pueden recibir parámetros y devolver resultados (si bien son poco comunes los eventos "función").
Una función es una rutina que puedes llamar (invocar) de forma explícita desde cualquier punto de tu programa y siempre devuelve un valor como resultado, mientras que un evento es, por decirlo de forma simple, una rutina puesta por ti para que sea llamada por alguna biblioteca de clases justo antes o después de ocurrir alguna cosa en particular. De esa manera tu programa recibe el "aviso" de que algo pasa y tu rutina puede hacer algo en consecuencia.
Para entender los eventos con mayor claridad, algo que conviene hacer es primero estudiar el concepto de
tipos procedimentales (
procedural types), tema del cual habla la propia ayuda de Delphi.
Los siguientes enlaces también pueden ser de utilidad:
http://www.clubdelphi.com/foros/showthread.php?t=55040
http://www.clubdelphi.com/foros/showthread.php?t=8695
http://www.clubdelphi.com/foros/show...274#post276274
Un saludo eventual.
Al González.