It does look like something is going wrong when the manually entered results are saved. Will require some debugging. Also it might matter what’s in the compendium (procedures -> Configuration).
I’ve been more on the electronic side lately so no idea offhand what’s going on.
Found my answer - the code for the “discrete result” level was a duplicate of the code for the “procedure order” level. Corrected configuration, and updated the existing row in procedure_result table to correct it, now just one row appears.