Solaris /usr/bin/awk is a very old awk that doesn't support user functions. So in that awk, float(123) is the same as anything(123) or anything 123, that is the concatenation of the value of the float or anything variable (empty if not set) and 123. So, it's not an error, but it does nothing.
Had you written
echo "Foampile=123" | awk -F"=" '{float="x"; print float($2) "<->" $1}'
you'd have seen
x123<->Foampile
I don't think that there is any awk implementation that has a float function.
What would you expect that function to do anyway?
On the other hand, modern POSIX awks like Solaris /usr/xpg4/bin/awk or nawk or gawk do support user functions, so in those, unless you define the float or anything function, you'll see that error.
echo "Foampile=123" | awk -F"=" '{ print $2 "<->" $1 }'
would work exactly the same (and would work with modern awks).
In modern awks, to disambiguate between a function call and the concatenation of a variable and something within brace, you need to add at least one extra space:
$ echo x | awk '{print foo ($1)}'
x
$ echo x | awk 'function foo(x) {return "y"}; {print foo($1)}'
y