Ok. I think I have a good argument to say that you can't characterise finiteness in MSO over the empty signature.
First, replace all "x = y" by "forall P, P x <-> P y".
Then, do the transformation to put all second order quantifiers first, then all first order quantifiers and finally the boolean stuff. It's also second order quantifier followed by a monadic first order formula. And monadic first order formulas have the finite model property (because you can say that two elements of the model are equivalent if they are in the same predicates, and then the quotient model is still a model and …
First, replace all "x = y" by "forall P, P x <-> P y".
Then, do the transformation to put all second order quantifiers first, then all first order quantifiers and finally the boolean stuff. It's also second order quantifier followed by a monadic first order formula. And monadic first order formulas have the finite model property (because you can say that two elements of the model are equivalent if they are in the same predicates, and then the quotient model is still a model and …