I may be wrong, but I'll try to answer your question. ^^
"chan" is usually added to young children's names, no matter what gender the kid is.
It's also used towards girls and young women by friends, family and sometimes teachers at school.
Many people add "chan" to pets' names, too.
About "kun", I heard it being used by school girls towards their male friends of the same or younger age. Boys may be also adressed like that by teachers, family etc.
Many young women call their male friends adding "kun", it's just more sympathetic than not adding any suffix at all when the relatinship is too close for "san".
It may be also used towards tomboys. ^ ^