Is it obvious when you try to use a config that won't be accelerated? Or is the config silently ignored?
If you really want software switching you have to use the management port (there's only one or two of these) whose name is "eth0" or "eth1" or something like that. So avoiding "accidental software switching" is really easy -- if you're typing "eth" you're doing it wrong. You can even explicitly delete this interface if you don't need the CPU to be able to snoop/inject traffic to/from the switch ports.
*) IP Routing that would normally "fit" in a vendor switch
*) Bridging
*) VRFs
You will be fine
If you try and do some weird stuff then it's best to check with "ip route" to see if it was actually installed into hardware or not, but I would simply not do anything weird on such hardware