This isn't exactly the solution you're looking for, but it might work for you -- It works for us.
We created a one time use coupon for 20% off your order. Then we added that coupon code to notification.newmemberwelcome.xml.config so each newly registered customer sees it when they receive the welcome email. It doesn't prevent pre-existing customers from being able to use the coupon code, but since they don't even know it exists, it's never been an issue for us.
You can advertise this offer to unregistered customers and since the coupon code isn't provided until they've created an account and are (presumably) getting ready to check out, you don't have to worry about older customers finding the coupon code. The only real chance at abuse is if a new customer gives the coupon code to an existing customer, although we've never run into this.
Running: AspDotNetStorefront ML 8.0.1.2/8.0.1.2