А если закомментировать всё, что в первой половине цикла, то вторая половина выполняется?
У меня подозрение, что менять вы меняете, но изменения не коммитятся и видны только в том клиенте, где меняете.
Так то у вас непонятно зачем селекты повторяются и циклы странно организованы, наверное, где-то не то скопировано.
Но на логику выполнения цикла это не должно влиять.