My personal preference is XML files:
In most cases I don't expect the user to have to edit their configuration settings so the human readability issue is not an argument in this case.
If they do need to edit them you can provide a editing tool - this prevents the user doing something daft with the data. If they want to restore the default settings you can just tell them to delete file x which most users will be comfortable doing.
Note that you still need to be careful that you have permission to store your file as some locations do not have write access by default in Windows 7 etc.
INI Files are a good standard way of storing configuration and are tried and tested but they just feel a bit 'Windows 3.1' to me!
Probably the best option if you want the user to be able to tinker with their data
I would personally steer away from the registry. For one thing you cannot guarantee that the user has the necessary permissions to read/write to wherever you want to store your data.
In more recent OSs where registry virtualisation comes into play this can cause major confusion because you can't 'see' the virtualised settings - this has bitten us more than once where have spent hours trying to figure out why something was not working.