The square root of 1 is not ±1, the square root of 1 is 1.

always: sqrt(a) = 1 implies a = 1
however: a^2 = 1 implies a = ±1

The latter is the reasoning needed to debunk this false proof, which is basically what you said anyway. I know the difference is subtle, it is really just involving absolute values and the formal definition of sqrt.

Yep, a strict mathematical background has left me with the undesirable personality trait that I must correct any false mathematical statement.

later: If this proof still confuses anybody, then think of it this way and you should easily see the fallacy - this is the assertion of the original proof, but presented in a more 'naked' way:
1 = 1 duh. but (-1)(-1) = 1 = (1)(1) also, so...
(-1)^2 = 1^2 sqrt both sides -1 = 1 tada!