F.C.
A.,
All I can say is to give your son time, patience and continue to encourage him. My 5 year-old took a real long time to potty train too (and he enhibits some symptoms of Aspergers, and is currently being tested). For his poop, I just continued to remind him to "let his caca come out" and that everyone has a "bad caca sometimes" (because his one-time diarrhea scared him and prevented him from going). Still, he would also hold it and then finally have a super hard stool. After some research, I found that stool-holding can lead to an enlarged colon. So, I was patient and then calculated when he might have a bowel movement and let him sit on the toilet reading books for about 30 minutes until he was ready. I found a potty-training video called "Potty Power" and then more books about potty training like "Everyone poops" and even made up a silly son "You put the food in your hand, then the food in your mouth. It goes in your belly and you poop it out!" which I would sing with hand movements and all! Still, time and patience work best.
Good luck,
F.