手書きの #freeze を削除している個所の正規表現が甘い気がします。末尾に改行が付かないデータの場合もあるので、↓な感じにした方が良いかと思います。
- $post['msg'] = preg_replace("/^#freeze\n/",'',$post['msg']); + $post['msg'] = preg_replace("/^#freeze\s*$/m",'',$post['msg']);
正規表現はよくわからないので、もっと良い書き方があるかも知れませんが。。。