Final code
Correction of bugs
1) \begin{scope}[on background layer] is not useful.
2) Instead of \insiderad-0.5\pgflinewidth, the correct code is \insiderad-\pgflinewidth
The style circle split part fill needs two colors like in circle split part fill={blue!50,red!50}
Here a complete example
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds,calc}
\makeatletter
\tikzset{circle split part fill/.style args={#1,#2}{%
alias=tmp@name, % Jake's idea !!
postaction={%
insert path={
\pgfextra{%
\pgfpointdiff{\pgfpointanchor{\pgf@node@name}{center}}%
{\pgfpointanchor{\pgf@node@name}{east}}%
\pgfmathsetmacro\insiderad{\pgf@x}
%\begin{scope}[on background layer]
%\fill[#1] (\pgf@node@name.base) ([xshift=-\pgflinewidth]\pgf@node@name.east) arc
% (0:180:\insiderad-0.5\pgflinewidth)--cycle;
%\fill[#2] (\pgf@node@name.base) ([xshift=\pgflinewidth]\pgf@node@name.west) arc
% (180:360:\insiderad-0.5\pgflinewidth)--cycle;
\fill[#1] (\pgf@node@name.base) ([xshift=-\pgflinewidth]\pgf@node@name.east) arc
(0:180:\insiderad-\pgflinewidth)--cycle;
\fill[#2] (\pgf@node@name.base) ([xshift=\pgflinewidth]\pgf@node@name.west) arc
(180:360:\insiderad-\pgflinewidth)--cycle; % \end{scope}
}}}}}
\makeatother
\begin{document}
\Huge
\begin{tikzpicture}
\node[shape=circle split,
draw=gray!40,
line width=1mm,text=white,font=\bfseries,
circle split part fill={blue!50,red!50}
] at (5,5) {text\nodepart{lower}lower};
\end{tikzpicture}
\begin{tikzpicture}
\node[name=s,
shape=circle split,
draw=gray!40,
line width=10mm, minimum width =5cm,
circle split part fill={blue!50,red!50}
] at (5,5) {text\nodepart{lower}lower};
\end{tikzpicture}
\begin{tikzpicture}
\node[name=s,
shape=circle split,
draw=gray!40,line width=2mm,
circle split part fill={blue!50,red!50}
] at (5,5) {Big text\nodepart{lower} very big lower};
\end{tikzpicture}
\end{document}

A workaround (the first idea):
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds,calc}
\begin{document}
\Huge
\begin{tikzpicture}
\node[name=s,shape=circle split,draw=gray!40,line width=4mm,minimum size=8cm] {text\nodepart{lower}lower};
\foreach \anchor/\placement in
{north west/above left, north/above, north east/above right,
west/left, center/below, east/right,
mid west/right, mid/above, mid east/left,
base west/left, base/below, base east/right,
south west/below left, south/below, south east/below right,
text/left, lower/left, 130/above}
\draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)}
node[\placement] {\scriptsize\texttt{(s.\anchor)}};
\begin{scope}[on background layer]
\fill[blue!50] (s.base) ([xshift=-4mm]s.east) arc (0:180:4cm-2mm)--cycle;
\fill[red!50] (s.base) ([xshift=4mm]s.west) arc (180:360:4cm-2mm)--cycle;
\end{scope}
\end{tikzpicture}
\end{document}
It's not easy to make a style from this code. Finally it was possible !
circle split part filldoes not exist. – Alain Matthes May 13 '12 at 04:44