I had a similiar situation but in college (smaller, decent DI program). I ran my freshman year, in which there were no roster cuts. We had 15-16 guys on the team. The next year, due to Title IX, the athletic dept put a roster limit on the men's cross team. The coach had no choice in the matter. However, he felt a loyalty to the seniors. They had worked hard for 3 years, and he wasn't going to hang them out to dry in their final year. So even though I had run some faster times, than a couple of the seniors, they got the spots, and I didn't. But I could understand the coaches point of view. That year our roster was 13 guys.
So I trained and came back next year. Now the limit was 10 guys. (Which is too few. A few injuries and you barely can field a full squad. I always felt 14 was fair. You can put 7 on the line at Nationals. So two full teams of 7 should be the minimum on a squad. Every other sport can field two full teams.) Once again I missed out. This time the coach left a spot open for a returning senior coming off a stress fracture. Ultimately, that senior never did run. But that year, I continued to train and in the opens at cross races and beat some of the guys on the team.
So by senior year, I worked my way onto the team. And than ran again as a 5th year senior.
I continue to run today, with a 2:35 marathon PR.
To disillusioned. If the roster limits came from the AD, the coach is in a difficult situation. He probably has a loyalty to the seniors. They have been around 3 years and he knows their work ethic and potential and may not feel that it's fair to cut them their last year, if this is a new policy. Continue running. Talk to the coach about getting into open races at meets. Stay positive. The one great thing about running is you can do it without a team. Continue to train and come back next year, stronger and faster, and earn your way on to the team. (but don't be an a-hole about it like most Let'srun posters suggest).