I don't know how they enforce it, is the problem. Some of it is, the owners themselves need to be strict about complying themselves, but it's difficult because they're all desperately competing for just a few players.
With more and more players positioning themselves as the brand and the uniform as a secondary thing, and also realizing extra money and the risk of devastating injury is not worth the sacrifice of freedom of movement, you're just going to have these complicated, frenzied periods of free agency/trading where any inside info you can obtain could mean a huge difference in making the maneuvers possible to get it done.
If you waited until the 6pm, official opening of free agency to start contacting players, you were already too late. Teams were already positioning their teams weeks, months, perhaps even a season ahead of time.
The system isn't working but it's hard to put the genie back in the bottle. Basketball stars, especially the handful of elites at the top, are just too important to championships. Salaries have so outpaced what the average person makes that there is no lifestyle change for a superstar to make tens of millions less in a contract. At the same time, max deals artificially suppress what the stars make, making their playing contract not necessarily as important as their sponsorship deals and ability to increase their outside business ventures.
The thing is, you can't even play basketball once you've reached your mid to late 30s. For the rest of your life, the businesses and branding you've set up are going to be your primary job and income. Basketball is really only a brief, 15 year period at the very beginning of your adult life. If you're Dr. Dre you can only make so much money with music as a performer, because music is a young person's game. However, if you use your brand to get involved in headphones, then sell that company for hundreds of millions to Apple, that's real money.