thank you for sharing your experience with us!
The EEPROM datasheet in Creator 2.0 (EEPROM v1.60) mentions about the APIs support. e.g.: For API EEPROM_Start(), it mentions that "This API is available only for PSoC 3 Production or later". PSoC 3 ES3 is production silicon.
Also while using EEPROM and Flash APIs please don't forget to read System Reference Guide - section "Flash and EEPROM". It tells us that CySetTemp() API needs to be called once before executing a series of Flash / EEPROM writing functions.
AND CySetFlashEEBuffer() is needed if not ECC enabled (which I suspect is the typical norm).
But my point was that EEPROM code that worked on ES2 probably will not work on ES3. And my latest look at EEPROM example projects (only 1 available) does not include the Start. Cypress should be more explicit when changing what is needed for operation when they make a significant change; and expand the cystatus to be more helpful to tell what is the true problem when any change obsoletes old workable code with new requirements. And test and update where required when a change effects an example project.
In PSoC Creator 2.0 Component Pack 3, I see that the example project clearly mentions that EEPROM start is for PSOC3 ES3 or later and also EEPROM_Start() API is called guarded by 'CY_PSOC3_ES3' define. Are you referring to some other PSoC Creator version/ build? Please note that PSoC3 ES2 device support has been removed from PSoC Creator 2.1 as PSoC3 ES3 is the production quality silicon. I suggest you to move to PSoC3 ES3 silicon.
I agree that the status for most of the APIs does not clearly mention the reason for failure. I will try to convey your concern to the appropriate team. Thanks for your suggestion.