Antes de nada un firewall personal implica la creación de un driver que actúe al nivel del kernel, cosa que delphi es una de la pocas cosas que no puede hacer. Aclarado esto, podemos intentar hacer algunas cosas interesantes con lo que tenemos.
Una primera solución seria monitorizar las conexiones TCP/IP que tiene establecidas nuestro equipo. Algo así como el comando netstat. Cualquier maquina que entre en contacto con la nuestra, utilice el protocolo que utilice, tendrá que establecer una conexión primero. Lo malo es que en esta lista aparecerían también las direcciones de los servidores web que estemos visitando, por ejemplo, entre muchas otras cosas. Aunque filtrando por el numero de puerto podríamos tener una idea aproximada de lo que esta pasando. En
este hilo encontraras el código necesario para hacer esto.
Otra solución, y si ya estamos hablando de archivos compartidos y demás. Es utilizar algo parecido al programa
PsLoggedOn de Sysinternals, que muestra una lista con los usuarios "logeados" en nuestro equipo. El programa viene con el código fuente, puedes echarle un vistazo para sacar algunas ideas.