The no keepalives are for making a back to back frame relay connection. That is just how I have always done, it, and there is a cisco link somewhere that gives an example of a frame realy back to back link with the no keepalives. So if Cisco says do it, I did it and it works. Someone else can probaly answer that better than me.
But if I had a guess it would be this. Frame realy links are supposed to go through a frame realy cloud(alot of frame realy switches, etc) and not supposed to go directly between the two CPE(end) routers. The LMI(keepalives) are not routed in a real frame realy cloud, it only goes from the end router to the first frame relay switch, so there must be some kind of problem in the back to back configuration, because the end routers are both DTE instead of a FR switch which is DCE, where the end routers cannot process the LMI from each other, since in reality they are never supposed to get the LMI from each other. Disclaimer: (That was a total shot in the dark with some truths to it. I am not for certain on the reason for no keepalive, but that was my reasoning. If someone who knows the answer could fill me in I'd appreciate it.)
The internal DHCP was just something I did, because I didn't want to put static stuff in my test PC, it was only 2 lines, as as opposed to having to click through windows and set the IP,Gateway,and DNS. So it was a lazines thing. Remove these lines and use static routes in your config, if you want to:
R2:
ip dhcp pool Testit
network 10.1.1.0 255.255.255.0
It should work just fine with static routes.
Let me know how it goes.
Burke