Virgile,
Для JavaScript понятия обфускатора и оптимизатора очень близки, поэтому программы обфускации чаще используются не для защиты, а для уменьшения веса скрипта. Один из примеров такого обфускатора - YUI Compressor. А другой назван вами - packer.
Почему ваш скрипт после пакера перестал работать, гадать не стану. Могу порекомендовать довольно противоречивую утилиту
JSLint, она показывает в каких местах скрипта есть (семантические?) ошибки. Иногда помогает избавится от мест, которые плохо обрабатывают обфускаторы.