If you are running the script from ArcMap, then it should work with the edit session, however you are not referencing the "Layer" in the map, just pointing to it on disk, so that particular instance is not in an edit session!
In the TOC rename the layer to something like "EditLayer"
Then in the code, instead of pointing to the path on disk:
fc = r'Database Connections\DEFAULT@Ozark.sde\Ozark.DBO.Storm\Ozark.DBO.BoxCulvert'
try:
fc = 'EditLayer'
If this doesnt work, you will have to use Arcpy.Mapping to point to the mxd, and then find the layer within the MXD.
Alternatively, as Neil Ayres has said, start an end the edit session in the code! (Then make sure you are not in an edit session in ArcMAP else the layer may be locked)
Hopefully this makes sense and explains what is happening.