This is a great question, and I think I'm going to give a longer answer in a blog post, but this would be my summary:

First off, understand that likely, however great of an idea this is, it will likely not pan out. I've been lucky to work with several "startups" that have been successful. But I've also worked with some that we did everything we could, but the project went no where. Finally, I've worked with a startup when the relationship soured and things turned out badly, and we all needed to part ways. So whatever time, effort, resources, etc. you put into the project, you have to be prepared to see it go nowhere, or worse.

You've already listed my first criteria, in that whomever is approaching you, they are real professionals in a field, and have more than "just an idea." For me, they have to be exceptional professionals who know their market, domain, etc and have a well-thought-out plan for making a product and monetizing it.

Second, they have to have some monetary backing. I'm fine working at a very large discount in exchange for higher rewards when the projects starts bringing in money on it's own. But I'll rarely work for free. This isn't because I can't make it without the money, but more that it shows that my potential partners are serious and willing to sacrifice and risk too. The only time I'm willing to work for free up-front is when I already know the people very well, trust them, trust the idea, and have a much more significant part of the rewards if successful.

Third, everyone involved should be working as hard, if not more hard than you will be. I've seen a few startups where the "owners" put in a few hours a week, and expect the developers to sacrifice every waking hour. This can seem difficult to achieve, since many times you need a product before you can sell it. But there is plenty of product planning, research, and other things to be done before a version 1 product is ready to launch. Also, I've seen some where there are some "extra partners" who bring very little to the table in terms of talent or usefulness, but want to have a lot of say in decisions, and many times will have much higher rewards than you. This kind of "dead weight" can really drag a project down.

Fourth, there has to be something more than the potential rewards of success in it for me. Whether it is working with cool technology that interests me, or the project is in a field I really enjoy, or that the people I will work with are excellent. It doesn't matter what, but you'll want to have a positive experience even if the fiscal goals are never met. I've had projects that had mediocre success fiscally, but the experience working with it was well worth the time and effort I spent.

Finally, are you a good fit for the project? I once took on some discounted work on a project that ended up being successful, but we were a poor fit. I didn't fit their timeline, so I thought I'd bring on some fellow developers to help make our deadlines. The problem was that the two devs I brought on both had unexpected things happen in their lives and couldn't get the progress done, so then I had to try and scramble and make it up. In the end, the "client" and I parted ways, and a few months later I saw they were able to take the code I did have and launch the project with other developers.

You have to be brutally honest with yourself when taking on a project that involves risk. It is easy to gloss over why it won't work, and focus on the parts of the deal that are appealing. But if you do find a project that is a good fit, then the best of luck to you! :) I've had some of my most reward work coming out of "startups" and they were great experiences for me.