The amscd package adapts the commutative diagram macros of AMS-TeX for use in LaTeX. However, the package cannot be used with XeLaTeX when the unicode-math package is loaded. A workaround is to patch file amscd.sty using the following patch
--- amscd.sty Κυρ Οκτ 12 18:38:00 2008
+++ amscd.sty.new Κυρ Οκτ 12 18:38:28 2008
@@ -158,7 +158,7 @@
{$\scriptstyle#1$}}$}\Big\uparrow
\rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
\atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox
- {$\scriptstyle#1$}}$}\Big\downarrow
+ {$\scriptstyle#1$}}$}\Big\mydownarrow
\rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
\atdef@={\CD@check={&\enskip\mathrel
{\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
and then to add the following line to file unicode-math.tex
\UnicodeMathSymbol{"02193}{\mydownarrow}{\mathopen}{downward arrow}
Apostolos Syropoulos