Option 1 -> "delay" is the base form and grammatically incorrect after "kept."
Option 2 -> "being delayed" is the present continuous passive form, correctly showing flights were continuously delayed.
Option 3 -> "having delayed" incorrectly suggests flights actively delayed something, which is illogical.
Option 4 -> "having been delayed" is grammatically awkward and unnecessarily complex for this context.
Hence, Option 2: being delayed -> The structure "kept + being + past participle" correctly expresses continuous passive action, meaning flights continued to experience delays due to bad weather -> correct