Well I was working one at a time and just dealing with Q1 first, but: the answer to Q3 is exactly the reasoning in
this thread. If we were considering diagonals, this reasoning would not work, but we don't care about diagonals, so it does work. Think about it: say you have a row that satisfies the condition for a regular square (it has exactly one of ... etc.). If you permute the row, the condition is still satisfied.
For Q2, consider that the above 3 by 3 regular square is not a magic square if diagonals are considered. So we will only consider rows and columns.
Consider a 2-digit number in base n (leading zeroes allowed), written as n = ab, meaning n = na + b. Now we have

, and the sum is
+b_1+\cdots+ b_n)
. It shouldn't be too hard to see that
 = \frac{n(n-1)}{2})
. So the sum for each row and each column is the same.
Although I won't do Q1 until 12 hrs or so, I can provide a sketch in the meantime. (Might be a bit hard to follow.) Consider just the most significant digits. We can fix the top row as (0, 1, 2, 3) without loss of generality. Then we can find all possible ways to fill in the square with just the most significant digit, leaving the least significant digit empty. Then for each of these combinations, we can try each way to fill in the top row with least significant digits. This will restrict the possible ways to fill in the least significant digits in the rest of the squares; each other square will have two possibilities. From work on paper, I believe that choosing just one value for just one cell will have a cascade effect, such that all the other least significant digits have only one possibility. The only problem is that we can get duplicate numbers (and thus not a regular square).
I can clarify more later when I've worked on implementation. It will be easier to follow if I make some pictures.