Paula,
First, I apologize for such a delayed response. Somehow I missed that you had updated this topic.
The reason you see a line between each group of states on the Output window and not in RTF is that the UL option only affects "traditional monospace output," not RTF, PDF, etc. This is of course because UL really means "a bunch of dashes" which isn't very meaningful to or attractive in modern output formats. What would be meaningful and attractive would be a "text_decoration=underline" style attribute (or something similar) but that's not available in 9.1.3. However, you said a space between groups would be okay and you can do that by using a COMPUTE block to print a blank line after each group of states.
Also (if I understand correctly) you want the Country values to appear directly above the State values. Again, you can use a COMPUTE block to print the value of Country (left-justified and in the same style as the state values) before each group of states. Since the Country value is displayed courtesy of a LINE statement, you will need to suppress the normal display of the Country column by adding NOPRINT to Country's DEFINE statement.
Here's your code with the changes I've suggested. Please let me know if this works for you, and I'll try to figure out how to get this forum software to tell me when you update the thread.
PROC REPORT DATA = new2 NOWD LS = 255 SPLIT = '*' ;
TITLE height = 18pt
"Country Summary ";
COLUMN Country
State
Actualx Predictedx;
DEFINE COUNTRY / GROUP noprint;
DEFINE STATE / GROUP;
DEFINE ACTUALX / "Actual Cost";
Define Predictedx / "Predicted Cost";
compute before country / style=data {just=l};
line country $22.;
endcomp;
compute after country;
line ' ';
endcomp;
run;