Question: Has to be free.
Has to support all versions of Excel files.
Has to have C# .NET API.

I need to do all of the specified actions (reading/creating/updating).

Has anyone used any library l this kind sucessfully 

Update:

I read a lot of bad things about Ole DB, and Interop is not an option since this is a web application running on a server.

Answer: 
Try to use OleDB [Reading Excel files from C#](https://stackoverflow.com/questions/15828/reading-excel-files-from-c)
I'm a big fan of [Aspose Cells](http://www.aspose.com/categories/.net-components/aspose.cells-for-.net/default.aspx). It does all you want but it isn't free. I don't know any other products that can fit all your needs (All Excel Versions, C# Api, Read/Write, etc)