Have you found a new loophole? No, not really. It just sounds like your league might not have some rules in place that others do to prevent this sort of thing.
First, of all, I forget the exact date, but you can't just sign FAs and turn around and trade them. You have to wait half of the season [EDIT:
June 15th] before you can. And by that time while some teams might be more desperate, there won't be quite as many teams interested so unless you've got a player a team really wants you just might be stuck with him and what might be a bloated contract, years and salary-wise. Then figure in that the player might have gotten injured, played badly or taken ratings hits in that time and who knows if you'll ever be able to get rid of him.
Secondly, it sounds like you're probably not using a cap. Now while MLB doesn't use one, in OOTP you can and if you set it low enough then even the best teams can't get too far away. And if the best teams aren't buying then a number of your most likely trade partners aren't buying (the worst teams are generally, but certainly not always, managed by people who don't trade and are otherwise active) which also lowers what a buyer has to pay as there's less competition for the player.
Thirdly, in OOTP GMs might not care so much if they're losing money year after year, but that's certainly not realistic. In OOTP you do somewhat get punished for being fiscally irresponsible though in that the more money you lose the less likely you'll be able to reel in FAs, extend contracts, etc. Now of course you could trade for them like you are (and you could institute a rule similar to the June 15th one if you want), but it's a lot more expensive to trade for a FA than to just sign one because you're not only paying what is probably an over-sized contract, but you're giving up players and picks as well which will eventually hurt the organization. A GM does that enough and sooner or later they'll get fed up with not being to do anything financially and they'll just quit the league.
Lastly, if your budgets are only 2.5M, I wonder how the salary structure and other financial settings were set up. There could be something with it that's creating issues as well. Maybe not, but if your league doesn't have a June 15th rule then I'm thinking there's a good chance they overlooked a number of problematic things, especially if it is in its infancy and hasn't yet instituted rules to prevent things it doesn't like.