По прекращению трафика - она, скорее всего, действительно связана с natd/divert.
А что касается запрещения смены MAC-адреса - правила построены совершенно некорректно. Во-первых, неясно, включена ли вообще обработка пакетов на L2, без нее матчить не будет. Во-вторых, с ней включенной пакет будет проходить через ipfw не 2, а 4 раза, и правила обработки здесь лучше разделить, а не совмещать.
В-третьих, текущие правила говорят о запрещении не-томского трафика с некорректным маком - в Томск пользователя выпустит с любым (либо с невключенным L2 они не проверятся и для внешки).
В-четвертых, если уж ограничивать пары IP/MAC без жесткой привязки пользователя на управляемом свитче или VPN/Proxy, то корректно делать это не в файрволе, а вбить пары по arp -s при загрузке (опционально staticarp на интерфейс), поднять arpwatch и следить за тем, кто когда пытаем менять адреса.