In essence, there is no difference between the two APIs as the both call supervisory ROM APIs to conduct SFlash write.
I don't think that example is obsolete. Let me know if you have encountered any problem when using it?
In the previous projects we used CYBLE-014008 and wrote the user flash row with the example prj's code without problems
Now, we started using CYBLE-212006, that has 256 bytes per row
Before touching the example prj's code, I wandered around finding CySysSFlashWriteUserRow: I like it because it hides all the internals
I asked if the example prj is obsolete because it does not add value to CySysSFlashWriteUserRow, so it is like if the function was written after the example (100_Projects_in_100_Days is our first choice)
To add some value, it should show, if feasible, how to get small "sectors" out of one row, as an example, 4 sectors with 32 bytes from a row of 128 (to achieve a "wear-leveling" in case of small chunks of data)
Yes, your guess makes sense. Indeed, that function was written after the example Day029_BLE_SFlash_Write.