I have a customer that we configured over our MPLS backbone. I don't spend enough time in the BGP realm to claim to be an expert. When using EIGRP and static routes, its only necessary under the router eigrp statement to list the directly connected subnets and the redistribute the statics. I found out today with BGP, that you list the subnets under the router bgp statement that you have created static routes for instead of using redistribute static. Why is BGP designed this way? The question might be rhetorical. The remote.txt has the static routes in it.
Firstly the "network x.x.x.x" statement under the BGP config is doing something very different from network statements under OSPF/EIGRP.
With EIGRP/OSPF the network statements tell the router which interfaces to start running that routing protocol on.
With BGP the network statement tells the router which routes to advertise.
Secondly, a router will only advertise out the networks under the BGP config if it finds an exact match in the IGP routing table. So from yur config on the remote end device
router bgp 65005
network 192.168.2.0 (mask 255.255.255.0)
ip route 192.168.2.0 255.255.255.0 192.168.1.1
You only need that static route if there is not a route for 192.168.2.0/24 in the IGP routing table ie. when you do a "sh ip route"
Note that if you had in the IGP routing table
that this wouold not be an exact match with your BGP network statement so you can either
1) Add a static route as you have
2) Advertise out the /25 subnets under your BGP config.