The real problem here is that x^y is a single shorthand which refers to a few fundamentally different mathematical concepts (which happen to have significant overlap with each other). First, it refers to a function f:C x N --> C, defined in terms of repeated multiplication. f(x,0) is 1 for all x != 0, and so we adopt the convention that f(0,0) is also 1. But it also refers to a function g:C x C --> C, defined as g(x,…
But if you define 0^0=1 in general, it doesn't cause a problem here -- that definition never disagrees with x^y=exp(ylog(x)), it just defines it at the point 0^0, while the latter leaves it undefined. In other words, it's possible to make a common extension of the two; they don't actually give different values in any case. Of course, doing this makes exponentiation discontinuous at (0,0), but seeing as it already had…
I'm not really opposed to saying 0^0 = 1; it's the only reasonable choice if we're going to insist on using the same notation for these two functions, and I don't expect that's going to change.