Record ID Field Out of Order

Record ID Field Out of Order

 I am having a recurring problem where new records get created with and ID field value that is lower than older records.  I thought ID was always supposed to go upward.  This has created a big headache for for numerous scripts and formulas that retrieve data from the previous record.  Is this a known bug, or have I misunderstood the ID field?