For what it's worth, I don't think you should see being 17 as a negative. There are a lot of people out there with CS degrees but without that sense of passion or autonomy that leads them to write mods and report exploits in their free time. You can get an education - that's just a matter of time and effort. What's harder to acquire is the right mindset and the ambition to do awesome work.

As thaumaturgy said, it's a negotiation. Don't go in thinking of yourself as a high-school kid who they're taking a chance on; that sounds like a liability. You want to sell the version of yourself that's a precocious young developer so good he's half a decade ahead of everyone else. That person is an investment; a good deal for them as well as you.

If I were interviewing you my concerns about your age/experience would be:
1. Are you mature enough to handle working in a big company? You can code, sure, but can you work with others? Can you deal with conflict? Can you take responsibility for mistakes? Can you work with business requirements as well as just code?
2. Without a formal CS background, are you going to be able to think and work at a high level of abstraction? What if you're asked to dive into a codebase full of Visitors, Observers or Singletons? What if you're asked to work on collision detection or auth code? Are you going to implement something half-arsed and hacky because you've never heard of octrees or SRP? It's not so much needing to know every algorithm off by heart, but having the perspective needed to think about the right way to do things and seek them out rather than throwing together whatever works.

Those might not be the concerns of your interviewer - if he's good he'll make sure you know what those are, but be prepared for something similar. An easy mistake to make is not to listen enough to what's being asked. Your interviewer will, guaranteed, have a checklist or question sheet with selection criteria on it. If you listen, you'll get an idea of what they want to know. Make sure you ask questions, too - at the very least ask what the work environment is like and what sort of work you might be doing. Interviewing them a little will make the conversation more equal (and is a good idea anyway).

As far as resume goes, the standard is basically 1 page. Pretend you're writing a movie review for a guy with a five second attention span. Generally you want: contact details, bio (who you are, what you want and why they should care), education and skills, work history. The bio should be a few sentences. Everything else should be bullets. Skills is a laundry list of every programming language/technology you know how to use (recruiters aren't always familiar with technical details, and have been known to insta-bin people without the right keywords). Don't include hobbies or interests.

For the work history, you want reverse-chronological order: most recent at the top. Feel free to include paid work and personal projects like your mod; anything that's relevant. For each one, you want to explain what you did, when you did it and how it achieved results for the business/project. Look up "STAR statements". Quantify things if you can: "ahead of schedule" is so much less interesting than "6 weeks ahead of schedule", "active userbase" sounds like noise compared to "5k active users".

As far as references, I'd never include anything on a resume but "references available on request" unless you've been specifically asked otherwise. (In fact, I've heard that most people now just leave it out entirely). If they want to follow up with references they'll let you know, and you never want people calling your referees by surprise. When you say you don't have any references, do you mean you haven't asked them? I've found the people I've contracted with generally fairly receptive to being referees even a long time after the project finished.

Make sure your resume looks decent. If you've got a friend with any design experience, get them to give it a once-over. Try not to pick an ugly font. The Pages templates are nice if you've got a Mac. If not, I've heard the newer versions of Office come with some nice looking ones too. Or you can go with LaTeX if you want to be hardcore and blow the rest of your weekend. Rule of thumb is the more white space the better. Save that sucker as a pdf. Get someone else to check it for spelling and grammar.

Lastly, go watch Randy Pausch's Last Lecture. If you've already seen it, just watch the bit where he talks about brick walls again. If this is truly the thing you want, don't stop at no. This particular recruiter might not be interested, but if it's a big company there are bound to be other ways in. In the end it all boils down to getting through to the right people, and you've already impressed one of their engineers enough to pass on your details. He didn't do that because emailing people is fun; you have something to offer them, and as long as that's true it's just a matter of getting your name in front of someone who can make the decision.