If you have already owned an MX5 then you know what good fun it is, and they only get better with the later versions. It is down to the lightness and the ease of use in my opinion. Jump in, drop the top in a few seconds, snick through the slick gears and off you go, knowing you are going to enjoy yourself. The engines and the interior quality though, aren't nearly as good as the German cars.
The Z4 is a much more sophisticated car, I would almost call it a sporting GT rather than a sports car, particularly the E89. Satisfying and comfortable over long distances and with a feeling of real quality you don't get in an MX5, but also less involving.
The SLK probably has even more quality and less sportiness, and I find the interior a bit outdated. The earlier 350 and newer AMG versions are hooligan cars though if that's your thing.
There is of course also the default choice Boxster and the Audi TT to consider. It's really about budget and what qualities you are looking for that should guide your decision. I drove them all and decided on the Z4 this time, but they all have lots to offer in their own ways.