The only things I've had tar fail on were special files (pipes, device files, etc...) and sparse files (eg. pre-allocated database files that are partly or mostly empty.) The sparse files were a few years back and we didn't try gnu tar. It may handle them now (so may the default tar with your os...)
For regular files, we use tar every few days to move data to and from NetApps.
The tar I'm not sure what's wrong with; I just remember it not working in a particular case in the past.
Both scripts I think suffer from potential file naming problems if those files have a " in them or start with a - and so on.
Bruce