OK, so i've had some time today, to look into why eggdrop fails to detect TCL Threading in some cases (eggdrop1.6.19).
It would appear as though TCL have changed the symbols they export in version 8.5 and above, so that TclpFinalizeThreadData no longer exists, but Tcl_FinalizeThread does.
This means that if your using TCL 8.5+ with threading, eggdrop will fail to detect it because it looks for the wrong symbol.
If your using the latest CVS this is fixed, as of Tue Jan 26 03:12:15 2010 UTC according to cvsweb, so just type cvs update to grab the latest.
If your not comfortable running the latest CVS, you have a few options.
1) Continue to hack config.h after ./configure - replacing #undef HAVE_TCL_THREADS with #define TCL_HAVE_THREADS 1. When you have a threaded TCL.
2) Patch your eggdrop with the path from Solution 1 at:
http://eggwiki.org/Threaded_Tcl
3) Download a fixed version of eggdrop that looks for the new symbol, this can be found here:
Eggdrop 1.6.19 +ctcpfix +threadfix
UPDATE (20/03/2009): I've Removed my version of the threading patch, Solution 2 is better. NOTE: My version of the eggdrop source in #3 above, just changes the configure script, so that it looks for Tcl_FinalizeThread and if its not found, looks for TclpFinalizeThreadData, it appears as tho the fix preferred and used by the developers, is to change the symbol thats looked up, so it removes this problem.
HTH
Keith