I achieved all things I needed with Ubercart - but I feel I've not really done a good solution but only a huge amount of workarounds, hacks and ugly special code, I normally would be ashamed for.
A friend recommended Presta shop (http://www.prestashop.com), another OS Shop. The Demo looks really good - but I have not looked at it's code base and how data is stored. The guy who recommended it to me is a skilled server admin, has experiences with Joomla but no experiences with drupal. However, I think he knows what he's talking about.
Greetings from Austria!