The issue of God answering prayers has always been an interesting one. Christians realize that many prayers go unanswered, and they rationalize it by listing all these exceptions in the Bible.
What is interesting about these passages, even when you read them in context, is that Jesus never once lists any exclusions or reasons why prayers won't get answered. Instead, we find Jesus boldly proclaiming again and again that anything we ask for in His name, we will receive it. In Luke 11, he even uses several metaphors to show this very simple promise.
So why doesn't this happen? Why, when we ask for fish do we sometimes get scorpions (see Luke 11)? Why does Jesus mention in Matthew 26 how God feeds and clothes the birds, and that we are so much more valuable then that, when millions of children die hungry and naked in this world?