Why does one type of tethering obstruct MTP while another doesn't? When I use the native USB tethering function of my phone, it makes MTP stop working. I can't use both MTP and tether both at the same time.

However, when I USB tether via ClockworkMod Tether, I can still use MTP even while tethering. 

What is the technical reason for this difference? If it's technically possible to tether and use MTP at the same time, why is that not typically enabled in the native functionality of the phone?

I use OS X, so by MTP I mean Android File Transfer. But I think this works the same way on Windows and Linux too.
It's probably because ClockworkMod Tether is using a different USB mode (getprop sys.usb.config) which has MTP mode enabled too.

native USB tethering: sys.usb.state = rndis,adb (where rndis is the internet tethering interface)

ClockworkMod Tether: sys.usb.state = rndis,adb,mtp

You could try to enforce this yourself when using native tethering by doing this: 

setprop sys.usb.config rndis,adb,mtp


But this could require root on your phone.