1. Не работает
только первый вызов, т.к. диалог блокирующий, назначение слушателя на "change" происходит уже после выбора файлов (вот
рабочий вариант).
2. Сейчас у вас при каждом вызове "BrowseFile()" вешается слушатель на "change" и не снимается, т.е. кликнув 10 раз, мы получим 10 слушателей события "change".
3. Ну и сам код хорошо бы переписать, на что-нибудь внятное,
например так. Сейчас это мешанина из jQuery, onclick, document.getElementById и т.п.