Caramba Ardilla, muy interesante tu código, le has hechado un vistazo a este otro hilo:
http://www.clubdelphi.com/foros/showthread.php?t=37902
O de forma mas ludica:
http://www.clubdelphi.com/foros/showthread.php?t=38132
A veces es difícil no hacer maldades, ... es tan tentador