Denise,
This is most likely because you're assigning the value "POA" (a string) to a numeric field. Assigning a string value to a field which expects a numerical value always results in a translated numerical value of zero (0).
There are a few solutions I could suggest but I think the easiest one would be to use what's called a "compound" pattern for the Display Pattern property of the numeric field, located on the Object palette's Field tab.
Compound Display Patterns are patterns that include multiple "inner" patterns that tell a field how to display its data in different circumstances. For example, if the field's value (data) is null (no specified value -- not even zero), the field could display "POA" (text even though it's a numeric field). Otherwise, when the field's value is specified (not null), it could display it using a normal numeric pattern such as "$z,zz9.99".
So let's say you've already specified a Display Pattern of "$z,zz9.99" for the numeric field. You would change this Display Pattern into the following compound pattern:
null{'POA'}|num{
$z,zz9.99}
Notice that the original Display Pattern has been preserved but now the compound pattern includes information on what to do when the field's value is null (not specified).
Given this compound pattern, when the postage goes above a given price, you would simply assign "null" as a value to the numeric field and it would automatically display a value of "POA" (even though it wouldn't actually have a value).
To set a field to null in FormCalc, you can do this:
NumericField1 = Null
And in JavaScript:
NumericField1.rawValue = null;
Stefan
Adobe Systems