Проблема разрешилась как-то сама собой. Поиграл с типами данных в объявлениях, местами переставлял - ошибки ушли. В итоге, вернул все к варианту, приведенному во вложениях. Странно, теперь тот же вариант работает без ошибок. К сожалению, причина так и осталась неразгаданной.