Why would EE require MyISAM? There is nothing that MyISAM does that InnoDB cannot do, although the opposite is not true.
Travis, if indexes are used properly, InnoDB will be just as fast at reading data as MyISAM is. Any speed difference will be negligible. If indexes are not properly used, then InnoDB will naturally be slower at reading. Whether or not EE properly uses index, I cannot say as I have not examined the SQL queries that closely. Though I would assume for the most part it does.
If you are reading from & writing to a table frequently, InnoDB will be a better choice because it locks for writes at the row level, so your tables will not be locked out from reading while being written to; only the row being wrote to will be locked. MyISAM can only lock at the table level, so tables will be locked out from reads while being written to. The most common example among most applications of frequent reads & writes is the session table. I would at least make the session table InnoDB.
MyISAM also corrupts more easily than InnoDB; or rather a better way of saying it is that InnoDB has much better recovery that MyISAM does. All that has to happen to corrupt a MyISAM table is for MySQL to die in the middle of a write. If that happens, it is pretty much guaranteed that the table will be corrupt when MySQL comes back online. If that happens with InnoDB, it will automatically recover itself to the state it was in prior to the write (or prior to the transaction if a transactions was being run). It is a rare concern, but freak accidents do happen, and again using session tables as an example, it is more common than you might think for MySQL applications to get corrupt session tables if they are using MyISAM. And it may not even need to be a freak accident like power outage. If you are on a shared host, something could go wrong with MySQL that forces the system admin to kill it before it takes the server down, or maybe it does crash and take the server down. There are a number of scenarios that can happen that could cause MySQL to die or have to be killed. Hello MyISAM table corruption.
I am not saying InnoDB tables cannot become corrupted, they can, but it happens less frequently than it does with MyISAM, and in the case of recovering from crashes, it is automatic. With MyISAM, if it crashes and corrupts a table your options are to attempt to repair the table and hope that works, and if not you have to manually restore the table from a backup which is unlikely to be a backup of the state of table the minute before the crash occurred.
Finally, if ACID compliance, key restrictions, transactions, or anything else that “traditional” RDBMS offer is of a concern for you, then again you will not find help from MyISAM but will need to use InnoDB.
It should be pretty clear which MySQL storage engine I prefer. I completely stopped using MyISAM about 2 years ago and couldn’t be happier with InnoDB and can’t remember the number of times I have been saved by it. That said, I think it is probably best to use what works for you.