Even though the text had a high z-index, it would disappear after few seconds behind the picture it’s supposed to be on, or when you switch to another Windows application then come back on the browser.
This erratic behavior turned out to be when IE doesn’t have a Doctype declared.
CakePHP doesn’t define any Doctype by default, so you need to edit your default layout and include it.
In CakePHP 1.1: edit app/views/layout/default.hthml
In CakePHP 1.1: edit app/views/layout/default.ctp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
… at the very top, before the html tag.
This happens not even on an old IE6, but on IE8 itself.