MUC presence can have multiple status codes. For example a room creating presence response has both status code 110 (it's your own presence) and 201 (it's a room creation presence):
Smack code assumes there's just one status code in muc#user presences. Smack picks the last status code. When creating a room with Smack, Prosody sends 201, 110. Smack finds that the last status is 110, not 201, and throws an exception.
Relevant Smack code is here:
The relevant Smack code was committed on 2004-07-06. The XEP may have been different back then, though probably not. Issue known to occur with prosody-trunk. Older Prosody sent statuses in a different order in the room-create case.
"Added status codes for occupant's own roomnick, service-modified roomnick, and warning that room discussion is publicly logged." - Version 1.21 (2006-09-13)
Related Smack Issue: https://igniterealtime.org/issues/browse/SMACK-604
According to that link, this issue was fixed in Smack in 4.1.0. Closing this.