The most robust solution would be to wrap three queries in a transaction.
The first query would locate the 24th item.
The second query would insert the new item
The third unmark the the result as new from the first
The other option which is just as robust would be to use a trigger. Whenever a new record is inserted check to see if it is a new arrival. If it is a new arrival make the 25th item not new.
Though, why use a flag to determine what items are new? Couldn't you just display the most recent 24 items based on when they were released or something, rather than using a flag? Are you using a flag because the client wants to be able to control their "new releases"?