Does every diagonalizable matrix have a basis of orthogonal eigenvectors? 
Does every diagonalizable matrix have a basis of orthogonal eigenvectors?

Suppose you have a linear transformation $L$ that is diagonalizable with $A$ compared to the standard base, then there is a $P$ so that $P^{-1} AP = B$ is diagonal, so $B$ is a symmetrical matrix (from $L$ versus some basis of eigenvectors). But because it is symmetrical, the spectral theorem holds that there is an orthogonal basis of eigenvectors, which means that a wk. linear transformation that is diagonalizable, has an orthogonal basis eigenvectors (it has an orthogonal basis because Gram-Schmidt)
 A: There are two fairly common errors in your argument that ought to be addressed.  
Taking the last one first, “because Gram-Schmidt” doesn’t work. While it’s certainly true that you can input a bunch of vectors to the G-S process and get back an orthogonal basis for their span (hence every finite-dimensional inner product space has an orthonormal basis), if you feed it a set of eigenvectors, there’s absolutely no guarantee that you’ll get eigenvectors back. Dave’s simple counterexample of $A=\small{\begin{bmatrix}1&2\\3&4\end{bmatrix}}$ illustrates this: Its two one-dimensional eigenspaces are not orthogonal, so there is simply no way to get a pair of orthogonal eigenvectors for this matrix. Whatever your input to G-S, at least one of the output vectors will not be an eigenvector of $A$.  
The other error is a bit more subtle: you’ve conflated the inner product $\langle\mathbf x,\mathbf y\rangle$ of two vectors with the dot product $[\mathbf x]_{\mathcal B}^T[\mathbf y]_{\mathcal B}$ of their coordinates relative to some basis $\mathcal B$. Taking $\mathbb R^n$ with the standard Euclidean inner product, we have $\langle\mathbf x,\mathbf y\rangle=[\mathbf x]_{\mathcal E}^T[\mathbf y]_{\mathcal E}$, that is, a way to compute $\langle\mathbf x,\mathbf y\rangle$ is to express these vectors as coordinate tuples $(x_1,\dots,x_n)$ and $(y_1,\dots,y_n)$ relative to the standard basis $\mathcal E$ and then compute the familiar dot product $\sum_{i=1}^n x_iy_i$. However, if you use coordinates relative to some other basis $\mathcal B$, then the formula for $\langle\mathbf x,\mathbf y\rangle$ will usually be some other bilinear form. In fact, we can find an explicit formula relative to any basis: writing the change-of-basis matrix from $\mathcal B$ to $\mathcal B'$ as $[\operatorname{id}]_{\mathcal B'}^{\mathcal B}$, we have $$\langle\mathbf x,\mathbf y\rangle=[\mathbf x]_{\mathcal E}^T[\mathbf y]_{\mathcal E} = \left([\operatorname{id}]_{\mathcal E}^{\mathcal B}[\mathbf x]_{\mathcal B}\right)^T\left([\operatorname{id}]_{\mathcal E}^{\mathcal B}[\mathbf y]_{\mathcal B}\right) = [\mathbf x]_{\mathcal B}^T \left([\operatorname{id}]_{\mathcal E}^{\mathcal B}\right)^T [\operatorname{id}]_{\mathcal E}^{\mathcal B} [\mathbf y]_{\mathcal B}.$$ The columns of $B=[\operatorname{id}]_{\mathcal E}^{\mathcal B}$ are the $\mathcal E$-coordinates of the elements of $\mathcal B$, and $B^TB$ is known as the Gram matrix of $B$. Observe that the formula of $\langle\mathbf x,\mathbf y\rangle$ is the dot product of the coordinate tuples iff $B^TB=I$. In other words, the Euclidean inner product is equal to the dot product of coordinate tuples iff the basis is orthonormal. 
There’s an additional fine point. A square matrix $Q$ is called orthogonal if $Q^TQ=QQ^T=I$. This is an intrinsic property of the matrix. In order to interpret the columns of $Q$ as coordinates of unit vectors and conclude that the columns are orthogonal, two extrinsic pieces of information  are required: you must fix a basis and inner product for the space. So, for any orthogonal diagonalization $Q^TDQ$ of the diagonal eigenvalue matrix $D$, by definition you have $Q^TQ=I$, but you can’t conclude that the basis represented by the columns of $Q$ is orthonormal. The coordinates in $Q$ are expressed relative to the eigenbasis that you used to diagonalize the original matrix and as we’ve seen above, unless that basis was orthonormal in the first place, the Euclidean inner product is not equal to the dot product of the coordinates.
A: No. Type the following into Wolfram Alpha.
eigenvectors {{1,2},{3,4}} 
(The first row is 1 2; the second row is 3 4.)
Then you can see that the eigenvectors are not orthogonal. Their dot product is 1/3.
$v_1 = (\frac{1}{6} (-3 + \sqrt{33}), 1)$
$v_2 = (\frac{1}{6} (-3 - \sqrt{33}), 1)$
The orthogonal eigenvectors happen for a symmetric matrix.
A: The matrix $B$ has the standard basis as a basis of eigenvectors. Using he standard inner product, this basis is orthonormal.
However, to get a basis of eigenvectors for $A$, you need to use $P$, your "change-of-basis matrix" in order to translate the standard basis into a basis for $A$. (The standard basis is not "really" the eigenvectors of $A$, but rather the coordinate vectors of the eigenvectors of $A$, relative to themselves; that's why they look like the standard basis).
But once you use $P$ to translate those "coordinate vectors" into a basis for $A$, you will lose orthonormality. That's because in general, the matrix $P$ will not send vectors of norm $1$ to vectors of norm $1$, and will not send pairs of vectors that are orthogonal to each other to pairs of vectors that are orthogonal to each other. The only matrices that do that are the unitary or orthogonal matrices (depending on whether you are working over $\mathbb{C}$ or over $\mathbb{R}$), and the only matrices that are unitarily equivalent to a diagonal matrices are the symmetric ones in the real case, and the normal ones in the complex case.
