In Emacs 24.3, I can put the *Messages* and *scratch* buffers side by side, call eval-last-sexp on message calls in *scratch*, and see the message automatically appear in *Messages*. Using Emacs from trunk, *Messages* is not updated with the message until I either "C-x o" to it or cause some other message to appear (such as "End of buffer" message).