although it is supposed to be uncovertable it can be converted back recently
This statement is 100% false. You
cannot convert back MD5, it is true that collisions have been found but all that means is that two different strings produce the same hash. They are still nearly impossible to find.
Any encryption is prone to dictionary attacks if you don't include a salt. An MD5 encryption with a salt will be more than enough for many sites out there although if you are serious about security I would recommend hashing with SHA256 or even SHA512 and including a pre-set SALT that
only you know and a random SALT which will be stored in the database with the password. That way even if a user gets the hashed password and the SALT they still cannot use a dictionary attack as they do not have the secret salt that only you know.
The only things I can think of that would require MD5() are for logins. For that you need a database, MySQL goes well with PHP.
An example I found on the net can be found here. I haven't tried it out yet, but I intend to later on just to see how it works. It requires MySQL.
Judging by reading the summary, it MD5's on the clientside and macthes it up on the serverside instead of sending a plain-text password as it were... I'm confused now!
You are correct that passwords are normally stored in a MySql database, but what if somebody (even a site admin) gains access to the database? The passwords are there in plain-text. If they are hashed (not encrypted, two totally different things) then it's impossible to find the users' password.
Unfortunately the password's will still be sent in plaintext from the client to the server, this is where SSL certificates are needed.
I have also heard, might not be completely true but if you hash an already hashed string it
increases the chance of collisions. Don't ask me how though
Hope that all made sense :D