Met sscanf kan je makkelijk het getal uit de naam halen, en met sprintf kan je het dan weer gemakkelijk een nummer van 3 cijfers groot van maken:
<?php
list($n) = sscanf('imag010', 'imag%d');
$next = sprintf('imag%03d', $n + 1);
Ik gooi zelf alle foto's in een map in een array met scandir().
In een while-loop kun je ze dan met $foto[$x] aanroepen, de link wordt dan $foto[$x+1]. Dan heb je het probleem ook niet als er een foto tussen mist