In my experience, a well designed GUI front end, like TortoiseHG doesn't in itself cause problems, what does cause problems however are user misunderstandings and inattentiveness.
I use thg as an example because my exposure to TortoiseSVN and TortoiseGit is limited.
With a GUI tool, it is very easy for an inexperienced user not to notice that the tool is going to do something they don't expect. For instance, with Mercurial, you can have an arbitrary number of unnamed remote heads. Normally Hg will complain if you try to push an unnamed remote head, but if you have the 'force push' option checked in the GUI, it won't complain and just push up the head anyway. This can result in confusion as people wonder what is this branch for, is it stable and should I be using it?.
With a command line tool, such situations will result in an error or warning being displayed and the users will need to understand the error in order to work out how to either correct the error (merge in the branch that is causing the error) or ignore it (rename the branch so it's purpose is obvious and then force the push if it shouldn't be merged right now).
Ultimately, while GUI tools make it easier to get started with a VCS, they are not a substitute for understanding how the VCS actually works. This is why many people recommend learning the command line first and then migrating certain tasks to GUI tools later to optimise your workflow.