I will talk about my current experience.
I had put many ads online to work for free, scrubbing dishes, floors, whatever it took to get myself into a professional kitchen. I posted mostly on craigslist, and a few hospitality sites. And I answered many ads with hardly any response. I actually received a few work for free offers, but unfortunately they were very far from where I live.
Finally, about a month ago, I received an email from an owner of an upscale restaurant saying she might have an opportunity for me. Long story short, I met with their chef and yesterday was the beginning of my 3rd week.
At first I took the lazy route by trying to find an opportunity online. I was lucky. I was starting to give up on the internet and was preparing a list of restaurants I was interested in, and was planning to make the rounds during their slow times, in between lunch and dinner, so the chef might have time to talk. That seems to be a common way of getting a first job. You just plead your case to the chef, and if they see the passion in you, they might offer something.
As far as "you" not getting hired. School and actual job experience are two different things. I am one of the better students in the kitchen at school, but at the job, I felt like a fish out of water my first few days. ****, I still feel a little like that, but in a more comfortable way. I am lucky that the chef is understanding and patient. And at the job I am re-learning things that I learned in class. Things like skinning and portioning fish. And in order of getting good at this stuff, you need repetition. Going over it only once in class doesn't cut it, at least for me it doesn't.
They want two years experience because it takes time, everyday, all day, to learn this craft. The chef really needs to rely on his or her crew to get things right the first time. And two + years shows you have some kind of dedication and passion, and probably know what you are doing.
I would just offer to work for free. So you can get experience. And as Marco Pierre says, "To obtain knowledge." If you bust your *** working for free, you will get experience, and that will lead to a paying position. Bring in a nice portfolio of your work (since you mentioned photos) and just show passion. Be willing to do ANYTHING.
Good luck.