You might want to check your algebra. (Your point is still valid. )
a^x = exp(x*log_e(a))...
try it...
>> x = randn;a=randn; a^x - exp(x*log(a))
ans =
0
(Matlab is perfectly happy with complex arithmetic. 'log' means 'log_e', 'log10' is log_10. Excel doesn't do complex arithmetic, but 'LOG' means 'LOG10', unless you enter a second argument, specifying the radix. 'LN' is 'log_e' to Excel. Excel also thinks that 1900 was leap year and 2100 wouldn't be, making them inconsistent with any known calendar, except the Excel calendar.)
The meaning of "Limit x -->0 [f(x)] = 1 " is that you can name any number you want, except zero, call it 'eta', no matter how small you make eta, I name a value of x, 'epsilon', such that a^epsilon < 1+eta and that as eta gets smaller, epislon also gets smaller.
ax = exp(xln(a))
I have mathcad here. It gives the same thing with 00=1.