You can override Column.PaintHeader method, use matrix transformations (for details look for the Graphics.Transform property in MSDN), but do not forget to reset transofmartions in this method:
[c#]
Matrix oldMatrix = dci.g.Transform;
dci.g.Transform = myTransformationMatrix;
try
{
//your code
}
finally
{
dci.g.Transform = oldMatrix;
}