Dropdown List Blank String "Label" Shown as 0 on Initialization

I have a dropdown used in a template that should show nothing (blank) when the 0 value is selected (which is the default), and allow users to select another value (1, or 2). This template is nested within a couple others.

However, when the dropdown is first loaded (default value of 0) it momentarily shows the <select option> prompt (acceptable), but then it shows a "0". Once I go into the template it doesn't show the zero. Then if I go back up a level and then down again it shows. Probably an initialization issue?

Even if I make the 0 row's Label a " " it still shows 0.

opening the top-level template:
image

going into the template:
image

returning from the template (without saving i.e. no changes - zero is gone):
image

(the dropdown is transparent over one of the buttons in a multistate button)

Dataset for the dropdown is bound to one of two datasets:

if({ALTER.pumps3},{ALTER.dataset3},{ALTER.dataset2})

dataset2 (cell update binding):

dataset3 (cell update binding):

-- in both datasets row with a value of 0 has a blank "Label"

ALTER.pumpXnumber properties are template parameters

I was able to remedy this by deleting the 0 value row and changing the no selection properties of the dropdown to a no selection value of 0 and a blank no selection string (since 0 is my default/auto value here). Still not sure why a 0 was shown instead of a blank though.

dataset3 now:

no selection properties:
image