Stewart,
These are all symptoms of the following two issues:
1) Any time you try and create or update a deployment in a project where you normally run a script, like Ant, or use an external process to update the files *without* running a Refresh, will created a broken deployment. For example, only half the files will get deployed or something like that. So be sure to right click on your project(s) root and do a Refresh, or turn it on automatically under WIndow > Prefs > General > Workspace.
2) If you are trying to update, create or remove deployments from a running application server, it’s possible due to read locks that the deployment will fail. On Windows this is almost guarunteed, on Linux it doesn’t happen because of how typical file systems (Ext2, ext3, reiser, etc.) handle it and on Mac I’m not sure, I think because of the BSD foundation your FS is going to be more robust like Linux and not suffer from this.
My money is on #1, just keep your projects refreshed.