Had a strange problem on a router recently where the bgp routes would show up when the show ip bgp command was issued, but NOT when the show ip route command was issued.
Turns out I was using an old (pre 12.3) version of IOS, and had to add the no synchronization command to the bgp configuration