You’re using the letter $w$ for two things, so let’s use $s$ for the word $0^{p^2}$. If $p$ is the pumping length, then $|s|$ (which is $p^2$) is greater than $p$, and therefore there is a decomposition $s=u\cdot v\cdot w\cdot x\cdot y$ with $|vwx| \leq p$, $|vx|\ge1$, and $u\cdot v^n\cdot w\cdot x^n\cdot y\in L$ for all $n\ge0$. This means that all of the following words are in the language: $$uwy, uvwxy, uvvwxxy, uvvvwxxxy, uvvvvwxxxxy, \dots.$$
For a word $t$ in this language $L$, $t=0^{|t|}$, so this sequence can be written as
$$0^{|uwy|},0^{|uvw|+|vx|},0^{|uvw|+2|vx|},0^{|uvw|+3|vx|},0^{|uvw|+4|vx|},\dots.$$
The lengths of these words form an arithmetic sequence with common difference $|vx|>0$, and (the proof is left to the reader) cannot all be squares. Incidentally, the fact that $|vwx| \leq p$ for the decomposition is not needed.
$$0^{|uwy|},0^{|uvw|+|vx|},0^{|uvw|+2|vx|},0^{|uvw|+3|vx|},0^{|uvw|+4|vx|},\dots.$$
You're basically working with the exponent by letting it be the string that can be carved into $s = uvwxy$, correct? And by pumping in you're arguing that the size of the $vx$ part, when added to the $uwy$ part, will eventually not be a perfect square.
– SpRrow Oct 26 '14 at 18:44