There seems to be no hard and fast rule. Sometimes when I travel from Air Malta to BA or vice versa I can check luggage all the way through and other times not. It seems to be down to the staff on duty at the time. With BA in vancouver earlier this year, I was able to appeal to their good nature, as had a seven hour layover at LHR and certainly did not want to collect and then carry all the Brown baggage from T5 to T4. The silly thing is that with the exception of the budget carriers, most if not all airline systems can technically allow transfer of baggage onto different connecting carriers.
I am surprised that no-one as yet has come up with a fee to from non code share/alliance baggage transfer. There would be many passengers who would be prepared to pay for this I suspect.
The alternative, as mentioned is to book all flights on the same ticket.