Looks like a XeTeX bug, LuaTeX give correct result:
\input ifxetex.sty
\ifxetex
\XeTeXmathchardef\beta="0"1"1D6FD
\def\ddot{\XeTeXmathaccent"7"1"0308}
\else
\input luaotfload.sty
\Umathchardef\beta="0"1"1D6FD
\def\ddot{\Umathaccent"7"1"0308}
\fi
\font\test="XITS Math:script=math"
\textfont1=\test
$\ddot\beta$
\bye
When run with luatex I get (the same with MS Office 2007):

BTW, \skewchar has no use in OpenType math fonts, so setting it makes no difference. Also the /I in your definition makes no sense either sense XITS Math comes only in regular style and there is no separate italic font, {Xe,Lua}TeX will waste time searching for non-existent then fall back to the regular one.
Update: The XeTeX bug has been fixed in 0.9998 (TeX Live 2012) version.