I'm going to guess that your client is mIRC (seems most popular client).
Check your DCC port range fond in Options->Connection->Options->Advanced, make sure the range includes the same port your bot is using (bot port has to be located withing "first" and "last" setting).
I was facing the same problem you described, until i resolved it. Now i can /dcc chat the bot and it works always. Here is what i did with my Mirc client :
On Options ----- Local Info : i checked "LOCAL HOST" for the always get on connect, and "SERVER" for the lookup method
However, I've tried them and none of them worked. Do you think I should try reinstalling the eggdrop?
it's not the eggdrop
kill the bot and restart with -nt switches so the bot stays in forground and you can see what happens over the console
after it's restarted attempt DCC both ways (initiated from you, and initiated by bot), the -nt switches will allow you to see what the communication problem is
Eggdrop v1.6.18 (C) 1997 Robey Pointer (C) 2006 Eggheads
[09:44] --- Loading eggdrop v1.6.18 (Wed Jul 11 2007)
[09:44] Module loaded: channels
[09:44] Module loaded: server
[09:44] Module loaded: ctcp
[09:44] Module loaded: irc
[09:44] Module loaded: notes (with lang support)
[09:44] Module loaded: blowfish
[09:44] Listening at telnet port 3334 (all).
[09:44] Userfile loaded, unpacking...
[09:44] === spaceBot: 1 channels, 1 users.
### ENTERING DCC CHAT SIMULATION ###
Connected to spaceBot, running eggdrop v1.6.18
____ __
/ __/___ _ ___ _ ___/ /____ ___ ___
/ _/ / _ `// _ `// _ // __// _ \ / _ \
/___/ \_, / \_, / \_,_//_/ \___// .__/
/___/ /___/ /_/
Hey HQ! My name is spaceBot and I am running eggdrop v1.6.18, on Linux 2.6.19.2 -grsec.
Local time is now 09:44
Use .help for basic help.
Use .help <command> for help on a specific command.
Use .help all to get a full command list.
Use .help *somestring* to list any help texts containing "somestring".
Have fun.
Commands start with '.' (like '.quit' or '.help')
Everything else goes out to the party line.
You have no messages.
*** HQ joined the party line.
I've tried initiated the dcc and I've tried to make the bot initiate dcc, but it doesn't show anything but that when I start the bot.