The difference is that Cisco's iPhone was a failed product, while iFone is a currently operating company. The fact that Apple sued a small company to force it to change its name is pretty disgusting. This is as bad as anything Monster Cable did.
A failed product does not invalidate your trademark as long as you are using it.
Apple is following the requirements of enforcing a trademark. It's a "use it or lose it" type of deal. Other companies have had their trademarks genericized due to lack of enforcement. You might find it disgusting but it's part of business.
Trademarks like Thermos and Aspirin are actually trademarks that became generic names and no longer enforceable (in the USA) as valid trademarks. So you can't entirely blame Apple for protecting their trademarks. They must do so in order to keep the trademark valid.
I'm not questioning that, I'm questioning whey Apple would file a lawsuit in the first place. If Cisco registered "iPhone" in 1999, Apple infringed on this by registering for the iPhone in 2007. Apple didn't feel they should pay anything but ultimately settled with Cisco. iFone was registered in 2003, a pretty harmless small company in Mexico and Cisco didn't find them a threat to file anything against them yet Apple decides to do so. You don't find any hypocrisy nor greed in all this?
Apple might as well go after this company as well:
http://www.ifoneinc.com/contact.php
Apple was always going to buy the iPhone trademark. Apple knew they were infringing Cisco's trademark when they used the iPhone name. Apple always intended to buy the name and it was just a matter of money. In Apple's eyes, they didn't care if they infringed the iPhone trademark because they intended to own the trademark. It was just a matter of the right price between Cisco and Apple.
As for greed, or hypocrisy, I don't find it so. The reason is because of how the US trademark laws work. It's a "use it or lose it" deal. Apple now owns the iPhone trademark. If they don't enforce it, they can and will lose the iPhone trademark. For Cisco, they weren't really using the iPhone name and actually almost lost the trademark due to lack of products using that name. Cisco likely didn't know about "iFone" or didn't care.
How do you figure that? Clearly the trademark was in question when the party responsible "Cisco" didn't defend or enforce it back in 2003 willfully diluting it.
A case can be made for abandonment since there wasn't a product to be had with that name at the time. Apple hasn't got an argument here because they acquired the rights to the trademark 'till (2007) much later.
I think the points you bring up probably needs a patent lawyer to answer.
Apple acquired Cisco's iPhone trademark. Does that make it a "new" trademark or is it a continuation of the trademark from 1999? If the first, then Apple has no case. If the latter, then Apple does have a valid case.
As for dilution, Apple is pretty much obligated to enforce the trademark or it's a guarantee that they will lose it.