After much fun, adding,moving and removing tags and files I managed to fix it and hopefully limited the damage to the branch I was working in.
Then after all that I discover that the versions of the files I have just been adding (from the trunk to a branch) were newer than those on the development server and didn't compile.
And this after a 2 hour meeting on the intracacies of our new purchase order system ( 20 page specification ).
On a side note I am thinking of writing a book for people who end up running version control systems. Something like 'Practical Version Control' covering CVS, SVN, RCS and some of the GUI's and plugins available as well as handy recipes and scripts (like blogging commits, integrating bugzilla, web interfaces, etc)