JC - Cross trades are not neccesarily illegal. It is simlilar to an all or nothing trade. If I put out a trade for 10,000 shares and request "all or nothing" in the execution I will only get filled if there is another buy order for at least 10,000 shares. The MM does try to group trades to fill as best they can but the more shares you put out at an all or nothing the harder it is to fill.
In a cross trade one firm agrees with another to buy a large amount at a fixed price. If they put out a sell for 2 million shares all or nothing at a fixed price then I can come in buy those shares since few retail traders would be able to meet the all or none requirement.
It's not illegal but it does exclude most retail traders.