Использование «static» напоминает мне, что виртуальные машины JavaME обычно не выгружают классы.
Я знаю, что, по крайней мере, на платформе Series40 процесс VM постоянно выполняется, поэтому статические переменные не сбрасываются, а код статической инициализации запускается только один раз.
Попробуйте выключить и снова включить телефон, чтобы убедиться, что вы не столкнулись с этой проблемой.
В противном случае, возможно, опубликуйте весь код простого мидлета, в котором вы используете этот код, и сообщите нам, на каких телефонах вы его пробовали.
Вы также можете использовать ведение журнала (файл или стандартный вывод), чтобы убедиться, что ваш метод загрузки действительно работает во второй раз (или выяснить, почему он не работает)