I haven't seen this behavior, but note that autonumbers do not necessarily appear in a gapless sequence, if objects are created but then deleted it still means you can get a gap between numbers. There is no guarantee that numbers are in sequence, just that the next one is higher than the previous one and that they are unique.
Edit: It seems that Oracle itself does things in terms of reserving autonumber ids, which can then get lost in some situations. That at least explains the gaps you are having. I can think of some solutions for increasing a counter that don't involve retrieving the latest object every single time, but I'm not sure if we have any out-of-the-box solutions for this, I forwarded this question to someone in our Expert Services team.
Via Ask Tom I found that there is an option (CACHE_SIZE) on a sequence. By default set to 20 and has been introduced for performance reasons.
That at least explains the gap.
Another comment I found was to never use a sequence to enforce a gap free range.