I'm about ready to rename my dog "Crap-On-The-Floor. At least people will think I have him well trained.
According to my Vet it's difficult to housebreak very small dogs. Partly because of the size of their bladders, and partly because they are so small compared to the size of the house.
A big dog sees the entire house as him home and won't soil it. A small dog sees most of the house as fair game. Made sense to me.