Hi James,
Would you describe your configuration? Can you repeat this with a simple test?
I wonder if your problem is related to this one Bizarre Postgres Behavior that Carl Coryell-Martin reported here three weeks ago ("the WHERE clause returns two rows from a SELECT but deletes zero rows".)
(It's of course always helpful to report a good description of your environment, that is, OS, version of PG, and anything else (which direction you waved the chickens) that might seem relevant.)