Well, 5.1 has index_merge, so you can sometimes get around the "one index per table" issue.
Also:
This increases performace also for InnoDB. And another thing to consider is order of columns in index defintion.
WHERE column1 = ? AND column2 = ? will use index created on (column1,column2) but not on (column2, column1).
That's not actually true -- the optimizer will handle this quite easily. The order only matter when there are not equality constraints; in that case, the constant needs to go first. That is:
WHERE column1 = ? AND column2 >= ? will use the index
BUT
WHERE column1 >= ? AND column2 = ? won't.