Ten years ago I was in exactly the same situation.
I had tables and tables of ASCII-format.
It was a hard decision and a long way. I changed to database.
Today I use Firebird, Flamerobin and IBX.
I am that glad I did it.

No, it was not easy, but I am glad.
Here are the advantages I am happy about:
The data are much more compact.
Not sure how much, but may be a factor 10 or even 100.
The backup of all my code and the database is done within 8 seconds a day.
I save the data back to the year 2000.
You say, your data are accurate, - however there happens that quickly an error.
A database refuses a wrong entry.
cvs allows it.
I work alone as well. You carry errors with you for years. Nobody cares, if you do not find it.
The possibilities of a database are beyond compare, because you can use SQL.
SQL is an extremely sophisticated tool, quick, easy, code can be written by machines and you can ask nearly with it.
You get information about your data you have not dreamed of.
cvs is damaged that quickly.
And you are not aware of. One wrong click into the data, - destroyed.
The possibilities how database-data can be drawn and written are prefab.
You write yourself preshaped pipelines into your database and build it like lego.
E.g. I can say, "give me all information you can find about one stock and write them to a nicely formated string".
The function behind searches for old quotes, daily quotes, news, ticker, dividend, grabs some server for updates and uses SQL for this.
What I write is:
"RichEdit.Lines.Add (GetSTOCKInfo of....);"
Work done.
May be you want to write some interfaces, which read your csv-data and write them into your database.
So you have a smooth change.
You mentioned the good portability.
All my environment is in a Win 7 VM. So I transport my Lazarus and my source code with the database.