Generally speaking, yes, it is a good idea to raise warnings to the highest level possible.
You may get some warnings that are overly picky or that just don't worry you in which case you can explicitly pragma them away in specific locations. At least then you are making a specific and explicit decision to ignore the warning.
Warnings as errors is more contentious in my experience. Some people think it is very important to have turned on. I personally keep this turned off to allow a little more flexibility while I am writing code, but then I trust myself not to ignore warnings, and certainly never commit code containing warnings. I have in the past however turned this on to catch programmers who were not quite as conscientious as they should have been.