Does MySQL still handle indexes in this way?
This is how MySQL 4.x did this and it used to severely aggravate me.
In fact, there was a formula I computed on how many such index maneuvers were needed
Table with 0 indexes and adding 1 index tooks 1 temp table
Table with 1 index   and adding 1 index tooks 3 temp tables
Table with 2 indexes and adding 1 index tooks 6 temp tables
Table with 3 indexes and adding 1 index tooks 10 temp tables (I had eyewitnessed this !!!)
.
.
.
Table with n indexes and adding 1 index took (n + 1) X (n + 2) / 2 temp tables
.
.
.
Table with 16 indexes and adding 1 index took 153 temp tables

Good News, MySQL 5.x does not do that !!!
If MySQL 5.x did this, I would be a PostgreSQL DBA today (No offense to PostgreSQL, it is an excellent RDBMS in its own right).
UPDATE
Oh my goodness, I read the post !!! That post came from me !!!
I never thought someone would dig this post up.
Please leave stuff like this dead and buried. Now I am having flashbacks !!!