Are you still using Access as a data entry front end? If so, I don't believe you can avoid skipping the auto number without reprogramming your forms. Once an INSERT begins in SQL Server the identity (auto-number) value is incremented even if the INSERT fails or is rolled back. This is by design.
You can add a constraint to a table to control dates (run this directly on SQL Server through a pass-through query or using Management Studio):
ALTER TABLE myTable ADD CONSTRAINT Check_Date CHECK(myDateColumn <= CURRENT_TIMESTAMP)