I was able to write a script that takes care of the operation without dropping portions by dicing and erasing then merging. I originally intended for it to be a toolbox but just use it as a stand alone script:
import arcpy
arcpy.env.overwriteOutput = True
SpatialReference = arcpy.SpatialReference(2278)
arcpy.env.outputCoordinateSystem = SpatialReference
Input = r"C:\Users\User\Desktop\FEMAnad83StatePlane.gdb\pwFEMA"
OutputLocation = r"C:\Users\User\Desktop\femaprep\femaprep.gdb"
arcpy.env.workspace = OutputLocation
output = "pwFEMA100Buffer"
arcpy.MakeFeatureLayer_management(Input, "pwFEMALayer",
"FLD_ZONE = 'A' OR FLD_ZONE = 'AE' OR FLD_ZONE = 'AH' OR FLD_ZONE = 'AO' OR FLD_ZONE = 'X' AND ( ZONE_SUBTY = '1 PCT FUTURE CONDITIONS' OR ZONE_SUBTY = 'FLOODWAY' )")
arcpy.AddMessage("Executing Buffer....")
arcpy.Buffer_analysis(in_features="pwFEMALayer",
out_feature_class="{0}/pwFEMA_Buffer".format(OutputLocation),
buffer_distance_or_field="100 Feet", line_side="FULL", line_end_type="ROUND",
dissolve_option="ALL", method="PLANAR")
arcpy.AddMessage("Buffer successful")
arcpy.AddMessage("Dicing....")
arcpy.Dice_management("pwFEMA_Buffer", "{0}/pwFEMA_Buffer_Dice".format(OutputLocation), "500")
arcpy.AddMessage("Dice successful")
arcpy.AddMessage("Erasing....")
arcpy.Erase_analysis("pwFEMA_Buffer", "pwFEMA_Buffer_Dice", "{0}/pwFEMA_Buffer_Erase".format(OutputLocation))
arcpy.AddMessage("Erase successful")
arcpy.AddMessage("Dicing erase results....")
arcpy.Dice_management("pwFEMA_Buffer_Erase", "{0}/pwFEMA_Buffer_Erase_Dice".format(OutputLocation), "500")
arcpy.AddMessage("Second dice successful")
arcpy.AddMessage("Merging results to pwFEMA100Buffer....")
arcpy.Merge_management(["pwFEMA_Buffer_Dice", "pwFEMA_Buffer_Erase_Dice"], "{0}/{1}".format(OutputLocation, output))
arcpy.AddMessage("Merge successful")
arcpy.AddMessage("Repairing geometry....")
arcpy.RepairGeometry_management("pwFEMA100Buffer")
arcpy.AddMessage("Repair successful")