Вообще такого быть не должно. С30 довольно старый компилятор, но
таких проблем с ним не припомню. Надо посмотреть промежуточный
ассемблер, может станет понятнее. const и не const с точки зрения адреса не различаются, за счет мапинга пространства кода в пространство данных. Возможно есть какая-то проблема когда константных данных больше 32к, но там линкер должен был ругаться. Я такой вариант не использовал.