Si lo vas a ordenar por el campo orden no habra problema si eliminan un campo, porque reconocera el siguiente.
al momento de hacer un cambio ejemplo
esta asi
orden 1
orden 2
orden 3
orden 4
y eliminamos orden 3 quedaria
orden 1
orden 2
orden 4
entonces esto creo que es lo que buscas hacer, que al momento de subir el orden 4 quede arriba de orden 2 y no que en cambio quede como orden 3 ya que igual quedaria abajo de orden 2.
como yo lo veo hay 2 formas de hacerlo, te lo dire de forma teorica a ver si puedes aplicarlo.
1.- en el momento que le den a eliminar un articulo tu compruebas dentro de que grupo esta y cuentas cuantos registros hay en ese grupo, luego ves en que numero de orden esta el que sera eliminado, luego haces un select del grupo ordenado por el campo orden y colocando un limit desde el campo siguiente al que se eliminara hasta el final, luego haces un recorrido de estos datos y dentro un update restandole 1 al campo orden de cada uno, al final de esto eliminas el campo que quieren elliminar y listo.
es mucho escrito pero es algo sencillo.
la forma 2 creo que es mas complicada por eso mejor ni la coloco
Edito: se me adelantaron por escribir mucho jajajajaja