I'm stupid - and i've fallen for this before when using a db_list_of_lists to build options.
The observant among you will notice that there are no braces grouping all of the options together into a list. The code should read:
{frequency:integer(select) {label "Frequency"}
{options {{"1 min" 1} {"5 min" 5}
{"10 min" 10} {"15 min" 15}
{"30 min" 30} {"1 hour" 60}
{"5 hours" 300} {"12 hours" 720}
{"24 hours" 1440}}}}