I actually did some research, and this article from Wikipedia discusses logic bombs quite nicely. Especially the 4-part series linked to on the bottom; that's a definite must-read.
That said, however, both the article and series mentioned these points which you should be aware of:
* If you create a logic bomb without the clients knowledge, and they don't pay you, and you activate the bomb, they can turn around and sue you, because it was an "undocumented feature", per se, and it could've caused damage to their systems.
* People have gone to jail over creating logic bombs which would make their program stop working 3 months after their name goes off payroll (i.e., they're fired). Their plan was to come back in as a high-priced consultant and "fix" the code.
* If you do create a bomb, stipulate it into the contract/license, saying it will be built-in as a security measure and *only* activated if your final payment isn't received in full, and make sure the client is aware of it.
* Finally, if you create a logic bomb, make it disable the pages you code. Do *not* make it delete mission-critical data/files from the system; in that case, they'll sue you because it's of much more value to them. Make it so that the data is still there, but the program you built to access it is gone (or not working).
IANAL, so do not take any of this to be any sort of legal advice.
🙂