Sorry, but your question don’t contain enough information to give good answer on your question. You have to describe more about the architecture of your application and the structure of the data which it used.
Is the application the Windows service or an EXE application running in the user context? Who owns the data, which you want to encrypt: the application, the user? Are the data shared between the users? Do you save the data on the local hard disk or on the server (on mixed)? Do you save the data as the part of the user profile?
The most important is the question: where you plan to hold the key? The problem is that the key is like the key from your home: you want that only you (or your close friends) have access to the key, but nobody else. Nevertheless one can frequently find the key somewhere near to the lock: under the mat lying at the door. One does this because there is another problem: what should be done if the key will be lost? All the questions are the part of "key management".
DPAPI is more as 10 years old. The most advantage of it is that it helps to save the key owned by the user so, that the user holds the key automatically and the encrypted data can be decrypted on another computer on the network in case of usage of roaming profiles. If you have the same requirements DPAPI can gives you advantages.
Sorry for so general answer, but in my opinion is that the key to find the solution of your problem is not to use one or another API. The most important thing is the key management. You should first have clear imagination about the key management of your application, including actions on some typical support problems, before you start to encrypt the application data.