I think there are many solutions depending on what you mean with "data file".
For example, if I need to store user preferences for sound and difficulty in my games, I usually go with NSUserDefault with iOS games which is native and reccomended, and cocos supports this as well
This is howerver restricted and limited if you need complex data structures. For these, I'd go with a .xml or .plist or .json file. I don't know many differences between these, except that maybe .json are smaller and more used w.r.t plist.
Regarding the "hacking" issue, unless you encrypt your files, I think there is no difference in which format you use: every file is equally easy to hack, since they are 'just' plain text files, no matter what.
Hope this helps