Is it a number?

My flash app uses an Access database via CF8 and CFC’s. In the customer table, the key is auto-generated as a long integer. I read that table in and store the keys in an array and the customer name goes to a screen grid. When the customer name is modified, I retrieve the key from the array use it to update the table using a cfc in which there are 2 arguments:

p1 (numeric) is the key
p2 (string) is the customer name

The problem is that the CFC rejects p1 saying it’s not numeric (if I give it a number ie p1 = 19 then it’s fine). It traces as 2 numeric digits (ie 19) but if I try to be explicit (ie p1 = Number(array[arrayelement])), the result is NaN. After much experimenting, the only way I can get it to work is to take it from the array onto the stage (_root.temp.text = array[arrayelement]) and then p1 = _root.temp.text. But why do I have to do this fiddle?