I used this vhdl-file in my project, and i had to improve the stop condition, and then it worked. If i could add an attachment to this message, then i would add the waveform captured with an oscilloscope. If you want that, then you can email me: rverstraten@opencores.org.
Also, after the acknowledge, sda changes to '0' at the same time scl changes to '0'. sda should fall slightly later. That would be neater, although i left it unchanged, and it worked.
Thanks! You saved me a lot of work!
Ruben.