@hda:
pfSense-2.3.1-DEV full amd64. I use a MoDem in bridge with pfSense in PPPoE.
So I created a separate interface on WAN for the MoDem to see it.
You're not creating a separate interface. You are creating a pfSense interface on the physical interface that was already in use by mpd5, the PPPoE daemon, for your WAN interface.
When you disable the modem interface, line 465 (I'm looking at 2.3) of /usr/local/www/interfaces.php will call interface_bring_down() with the destroy parameter set to true on the modem interface. interface_bring_down() (in /etc/inc/interfaces.inc) does not contain a check as to whether the physical interface is in use for PPPoE - it will just ifconfig down the physical interface. At this point, the ground is torn out from under mpd5 daemon as well as the underlying netgraph structure used for PPPoE on the interface. Things go very wrong at this point - worst case, you'll get a kernel panic.
Arguably interface_bring_down() should check that the physical interface is not in use for a PPPoE port, CARP or similar before calling pfSense_interface_destroy() on the interface (line 1438 of /etc/inc/interfaces.inc).
If you want to disable the parent assignment, find some other way to disabling the interface, as cmb says.