The second issue has to do with the field calculation order. You should set C1 to calculate after both A1 and B1.
Use this code instead of what you currently have:
var d1 = getField("A1").value;
var d2 = getField("B1").value;
if (d2=="") event.value = d1;
else event.value = Math.min(+d1,+d2);
Adjusted the field calculation order fixed question 2.
The script given as answer worked great except for one area.
B1 values can range from 0 and up. If a 0 is entered in B1, then the Math.min ignores it since d2=="".
I can get around that problem by having a default value set in B1 of -1 (outside of the range). I'd prefer that there not be a default value set.
Any suggestions? I appreciate the help.
That script can be changed to the following to fix the problem:
var d1 = getField("A1").valueAsString; var d2 = getField("B1").valueAsString; if (d2 === "") event.value = d1; else event.value = Math.min(+d1,+d2);