Are you missing values coded as missing values? That is, are they NA? Such NA-values should be handled by vegan::monoMDS. Naturally, it can be possible that your data set cannot be meaningfully analysed if you have too many missing values or missing values are grouped in peculiar ways. Zero-values are not missing values, but they indicate 0-difference (= identical observations). The missing values must be coded as NA. cheers, Jari Oksanen