Some notes :
I think you did a bit too much optimization on your page with too often the same keyword / key expression.
Try to use more synonyms (especially in alt attributes), that may not help for your main key expression but that will help to improve your long tail.
It will also look more natural.
You have a duplicate content issue with your home page.
It's accessible at .com and .com/index.php. It's an issue. You can fix that easily in PHP.
I think your home page would do with some extra textual content.
Then to check why he is in front, check out his net linking:
Site Explorer - Search Results
compared to yours :
Site Explorer - Search Results
Maybe they have done some serious work on netlinking recently. Try to get the same links and if possible with a proper anchor text (ie : clickable part of the link containing your keywords)
Don't focus on page rank.
good luck with that