i'm a little surprised by this, but not totally. if the league were to decide this policy on their own, it would create a monopoly situation. but since the players' union agreed on the first age limit (and probably the second), then it is viewed as a labor law issue and not an antitrust issue - in which case the collective bargaining power of the union will govern.
what surprises me a little is that many of the stars in the nba played one or no years in college - garnett, kobe, stoudemire, howard, t-mac, lebron, et al. you would think they'd be standing up for the kids who want to follow their footsteps. what doesn't surprise me is that they (as a union) are voting to keep the competition for their roster spots out. actually, those stars are probably the least worried about their spots - it's the other guys who fill out the rosters (and make up a majority of the union) that have the most at stake. those players don't want the team using their roster spot for a "project" kid with only high school experience.
as a college basketball fan, i really like this trend. i don't really know if it's fair to the young players, but there's nothing they can do about it (see maurice clarett).