I've written in the relevant commit notes that utf8::downgrade cannot handle some chars that come in from Jabber, wich according to utf8::is_utf8 and utf8::valid are perfectly valid UTF8 chars (€ is one example).
Right now I'm simply ignoring those lines to avoid having the AnyEvent::IRC::Client::send function bork the server. This should be handled somewhat more gracefully...