I think the best way to solve this problem is to avoid it.
I don't see whats the problem in re-ordering the QUESTION_NUM field.
If I remember well, it should be a single, simple SQL command to do that for you.
Suppose you want to insert a new question after your question number 17, it should be like this:
update QUESTIONS set QUESTION_NUM = QUESTION_NUM +1 where QUESTION_NUM
+ > 17
Then insert your new question 18.