Do any of those functions work correctly? If there's a tie for the most popular value don't you have to take the mean of the tied values?
EDIT: Apparently not, although that makes the data multimodal... and you probably want to report all the modes of a data set in that case...