The theorem
My guess for the theorem your friend is referencing is: Suppose $f, g$ are analytic functions (have convergent power series) near $0$. Denote the coefficients like $f(x) = \sum_{n=0}^\infty a_n x^n$ and $g(x) = \sum_{n=0}^\infty b_n x^n.
Suppose $f(0) = g(0) = 0$, i.e. $a_0 = b_0 = 0$.
Finally, we need one extra assumption your friend didn't mention: Also suppose $a_1 = b_1$. In other words, we assume $f(x) = a_1 x + O(x^2)$ and $g(x) = a_1 x + O(x^2)$.
In this case, it is true that $\lim_{x \to 0} f(x)^{g(x)} = 1$.
Proof
We know $f(x) ^ {g(x)} = e^{g(x) \ln(f(x))}$, so showing $\lim_{x \to 0} f(x)^{g(x)} = 1$ is equivalent to showing $\lim_{x \to 0} g(x) \ln(f(x)) = 0$. We can compute
$$\begin{align}
\ln(f(x)) - \ln(a_1 x) &= \ln\left( \frac{f(x)}{a_1 x} \right) \\
&= \ln \left( 1 + \frac{a_2}{a_1} x + \cdots \right) = \ln(1 + O(x)) \\
&= O(x)
\end{align}$$
where the last step uses the power series for $\ln$ around 1. So $\ln(f(x)) = \ln(a_1 x) + O(x)$. Thus
$$\begin{align}
\lim_{x \to 0} g(x) \ln(f(x))
&= \lim_{x \to 0} (a_1 x + O(x^2)) (\ln(a_1 x) + O(x)) \\
&= \lim_{x \to 0} a_1 x \ln(a_1 x) + O(x^2 \ln(x)).
\end{align}$$
We know $\lim_{x \to 0} x \ln(x) = 0$ (this can be shown by l'Hopital's rule, e.g. source). So $$\lim_{x \to 0} a_1 x \ln(a_1 x) + O(x^2 \ln(x)) = 0$$
which was what we needed to prove.
Comments
The theorem above is true, but it has some pretty strong assumptions. In the end it's pretty similar to just saying $\lim_{x \to 0} x^x = 0$. We've just added higher-order error terms: $\lim_{x \to 0} (x + O(x^2))^{x + O(x^2)} = 0$. Some $0^0$ situations fall in this category but lots still don't, so I wouldn't take it as some final word on what definition anyone should use.
In general, math notation and definitions are just "whatever makes it simplest to communicate". For example, I could define $2^3 = -1$ and leave $2^x$ the same for $x \not = 3$, but if I did that then tons of theorems would need to include a special exception for $2^3$, which would be annoying when writing or talking about math. For lots of notation questions, it's pretty easy to see which notation will be better in most scenarios, i.e. which one will work smoothly without needing lots of special exceptions.
For $0^0$ in particular, it's not so straightforward, basically because $\lim_{x \to 0} 0^x = 0 \not = 1 = \lim_{x \to 0} x^0$. That means it's perfectly normal for people working in different contexts to use different definitions: everyone's going to want to use whatever definition will result in fewer "special exceptions" in their problem area. There'll always be some people who use the opposite definition, and that's fine, we just need to make sure to clarify which definition we're using if it isn't obvious in context. Trying to convince people to use a notation that makes their field harder to write about is not worth the effort IMO.