Hi Carlos,
Clear and ClearAll both have attributes HoldAll (Attributes[Clear]), meaning that it does not evaluate it's arguments. So it tries to clear "w"<>ToString[1] as a whole. You have to explicitly evaluate it before executing the function like:
w1=3
Clear[Evaluate["w"<>ToString[1]]]
w1
Hope that helps.