Argument works in the python console but not in a loop?
You're testing all of the objects that were selected when the script reached the line
fbxs = [ ob for ob in bpy.context.selected_objects]
One of these objects has no parent, so when the line ob.parent.select = True is run, Blender tries to find a parent and raises an error when it doesn't find one.

Try this instead:

if (ob.parent):
    ob.parent.select


or if that doesn't work for some reason, enclose it in a try:/except: block.