Been using 2.8 for a bit and have had no problem clearing definition queries with the following code. If TurnQueryOn is true it sets the definition query. If it is false it sets definition query to None.
if TurnQueryOn:
RecordWhereClause = "CreatedByRecord = " + "'" + RecordNumber + "'"
for FilterLayer in FilterLayers:
mapFilterLyr = Map.listLayers(FilterLayer)[0]
if mapFilterLyr.isFeatureLayer:
mapFilterLyr.definitionQuery = RecordWhereClause
else:
for FilterLayer in FilterLayers:
mapFilterLyr = Map.listLayers(FilterLayer)[0]
if mapFilterLyr.isFeatureLayer:
mapFilterLyr.definitionQuery = None
I just upgraded to 2.9 (I still have a machine 2.83 so was able to double check). But the definition queries are no longer being deleted but just turns them to "inactive".

Is there something I am doing wrong? (I have seen other posts for this in the past and they appear to operate the same as mine does in 2.83.)