Cross-classified and multiple membership models in MCMC treat any 0s in a classification identifier column in a specific and different way. 0 is assumed to mean that there wasn't a higher level unit associated with that data point. This is specifically required for multiple membership models where there are a set of columns for the multiple membership identifiers with some individuals having less identifiers than others. In this case we would have what is termed a ragged array and 0 is used to pad out the columns.
This has the unexpected effect that if a cross-classified model has 0s in the identifier column for a classification it will assume that these data points are not associated with a higher level unit in that classification.
It is unusual for people to use 0 in a classification column however when alphanumeric data is entered into MLwiN it is converted to a categorical variable starting from 0. This means that if a user has a column of alphanumeric IDS and uses MCMC for a cross-classified model they will get incorrect estimates.
We have fixed this bug and version 2.25 of MLwiN will only treat 0 as a special value for multiple membership models and not cross-classified. As a workaround for prior versions the user can add 1 to the id column in question via the calculate window to fix the problem