You can always stop a Pokemon from evolving if it holds an Everstone. The Pokemon will not evolve when at a level at or above it's evolution level, will not evolve after a trade, and stones will not work on them.
Pressing B to stop an evolution only works on level-up evolutions. It will not work for trade evolutions, stone evolutions, etc. As Squirtle is a level up evolution, you should be able to press B to cancel it's evolution. Remember, you have to press B while the evolution is taking place, not right before the end of the battle.