Its certainly not a complete answer, and I've just looked at it again and found that using a Static Function:-
GridView1[1, 1].Border = Border("style:double;color:Red")
...works just as well.
Also, if you type:-
GridView1[1, 1].Border.
...you are offered a list of possible Properties. So it looks like it should be possible to do something like this:-
GridView1[1, 1].Border.BottomColor = Color.Red
...but this reports a 'Null Object' error, because in this context, Border is a Property, not a Class.
It really shouldn't be this difficult.