If you don't mind straying out of the UI Automation system:
If you can locate the window-handle of the control you want to click (I believe the automation system gives access to the window-handles), you could use the windows api to send a mouse-button down, and mouse-button-up message to the controls handle.... this is much the same as actually clicking the control.
Its not the most elegant solution though.
/// <summary>
/// sends a windows message to the specified window handle.
/// </summary>
/// <param name="hWnd">the window handle</param>
/// <param name="Msg">the message constant</param>
/// <param name="wParam">w parameter</param>
/// <param name="lParam">l parameter</param>
/// <returns>IntPtr Result</returns>
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
public const int WM_LBUTTONDOWN = 0x201 ;
public const int WM_LBUTTONUP = 0x202 ;