I don't know why the lower spending teams would even want a salary cap. It would only affect a few teams (Mets, Dodgers, Yankees, Phillies) and the end result would be to make those teams even more profitable without improving the revenues for any of the other clubs. What incentive do the other teams have to make the Dodgers and Yankees even more profitable? It would actually decrease their revenues because they wouldn't get the luxury tax revenue sharing dollars.
The union wouldn't like a salary cap because spending would go down by $400M. 25 ball clubs wouldn't like a salary cap because they would lose revenue without lowering their payroll. The Dodgers, Yankees, Mets and Phillies would each get $75-100M more revenue with a salary cap which would go directly to their bottom line. MLB brings in more overall revenue when the large market teams do well so the league would suffer in the long run.
So, why would 25 teams lockout the players and lose a pile of money to ensure they lose more money in the future after the salary cap is put in place? Why would they agree to a lockout to make the Yankees, Mets and Dodgers even more wealthy?