I recommend taking a look at an ST Application Note AN2594 for this. It deals with Flash having an order of magnitude (or more) less re-rwite life span than EEPROM and provides a working solution.
That said, I just read this ...
So the external Flash already has 10x the endurance of the internal STM32 Flash, IIRC. Still, with so much space available, I reckon it wouldn't hurt to take advantage of the system described in AN2594, all the same.
Someone wrote a libmaple class based on the above app note. I used this successfully on a Maple-mini, which has the same STM32 MCU as the Sparkcore. There is precious little documentation for the class, but I found it straight forward enough to put into use.
@mdma -- Perhaps you could take these ideas and apply them to your work?
By the way, if you have any trouble getting your ST-Link/V2 (assuming you chose such) and Programming shield to work reliably, I can probably help. I've just been through all that myself.
FWIW, AFAIK Leaflab's libmaple was the first serious attempt to bring Arduino style coding to the STM32F1xx chip. They did a great job of writing their system from the ground up, completely replacing the 'standard' ST libraries. IMO however, the Spark team's approach of building on top of the standard ST libraries is cleaner and easier to understand.