Hello Scott,
if the switch ports are sending STP BPDUs the switch will detect the loop and will put one port in STP blocking state.
However, if STP portfast is enabled transition to forwarding state is immediate so it might become a timing question.
A real issue arises if the ports are configured for STP portfast and are configured for bdpu filtering at port level in this case the switch cannot detect the loop timely and the loop will form as no STP BPDUs are flowing.
The recommended configuration for access ports is STP portfast + BPDU guard as it is the safer configuration.
This will cause the ports to be put in errordisable state but it saves the network.
Misbehaving users can be educated by the fact they cause the phone to not work anymore.
And end users are very creative with cabling.
Hope to help
Giuseppe