As chrisinfinger said, one weakness about overlapping condition is that it only measure "at least" overlapping. This means that you can have the object overlapping by a single pixel, while the rest is out of the square, and still considered overlapping. This depends on how you want it in your project.
For example my project, I have a feature where the user can arrange a table layout in a room. This of course, cannot have a single pixel out of the square as the table would puncture the wall. In my case, I cannot use overlapping condition.
I prefer with some comparison, as I don't want to add unnecessary object. Here's what I do (very simple actually):
if (Table.BBoxLeft >= FloorObj.BBoxLeft AND
Table.BBoxRight <= FloorObj.BBoxRight AND
Table.BBoxTop >= FloorObj.BBoxTop AND
Table.BBoxBottom <= FloorObj.BBoxBottom) {
[VALID LOCATION]
Table set animation frame to 0
}
else {
[INVALID LOCATION]
Table set animation frame to 1
}
[/code:3co0tcxe]