I don't think adding many hoops for back compatibility is worth the trouble. Note that that does not mean people can not use solrj to talk across different versions - they may have to use xml though....
Agreed, my chief concern is what happens when someone tries to use SolrJ 1.4 to talk to Solr 3.1 w/javabin (or vice versa).
A) If they get an error: great, i'm totaly fine with that – we just document that they should use XML in this case.
B) If the commands succeed, but the string data is always corrupted, that's not ideal – but not totally horrible since the probably should be immediately obvious and should have read the documentation and known not to do that.
C) if the commands succeed, but the string data is sometimes corrupted (as i recall, not every character is different in UTF8 vs Java's modified UTF8, correct?) then that seems really bad ... people may start using javabin to update their index and not notice for quite some time that big hard to identify chunks of their data are corrupted.
as long a someone sanity checks that the situation is either #A or #B before committing, i'm totally cool with it ... but #C scares the bejesus out of me.
(i'll try to run some tests myself in the next few days if no one else gets a chance)