Permissions to change statuses depend on the user's permissions to access certain tasks.
Depending on the maximum possible message type that the user can create (Definition, Review, Report...), he can have a certain list of statuses he can change "from" and "to".
You can change the permission settings for status change in the "Administrator" window. "Task statuses" tab, "Switch Permissions" to the right.
Choosing different types of messages, you can set up a list of statuses to change between.