Hmm, ok. I guess it was the data coming out of the SQL query. That comes out as an array for each field, which when the form first loads seems to hide the array of data? But then the next load starts putting the array into the form fields.
I changed the load function to transform the results with formatDataAsArray(data), which then gives the single result object I thought I was getting before. So, that now looks to be working ok.