I have written a macro to include figures. I pass the label name and
the caption as the two arguments. But when I try to refer to the figure,
it shows ??.

Surely, my macro does not define the figure label as intended by me.
What am I doing wrong? Also, while trying to debug this problem, I tried
using \version[temporary] to see the labels as suggested in the Context
manual (chapter on Cross References (page 207) of cont-ini.pdf). But it
didn't show many the label of the figure.

MWE:

\useMPlibrary[dum]
\unprotect
\define[2]\dincludefigure{%
   \placefigure[fig:#1]{#2}{\externalfigure[dummy][width=10cm]}%
 }%
\protect

\starttext
  \dincludefigure{one}{A figure}
  I am refering to \in{Figure}[fig:one].
\stoptext