1. Используйте var.
2. Зачем вы используете регулярные выражения, если ни одного метасимвола в них нет? Можно просто строки искать.
3. Слэши в регулярных выражениях должны экранироваться. При этом в строках обратные слэши тоже должны экранироваться
/<\/expand>/
new RegExp('<\\/expand>')
4. Попробуйте сделать в разных браузерах
alert(frames['heading'].document.getElementsByTagName('div')[0].innerHTML)
можете сильно удивиться. innerHTML не всегда равен тому, что ему присвоили.