For fun, here's a very quick mock up of a tikz replacement. Still needs tweaking, obviously.
\documentclass[border=2em]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}
\draw[very thick, rounded corners] (0,0) rectangle (1,1);
\node[ellipse,fill=black,minimum height=0.1em] at (0.5,0.5){};
\end{tikzpicture}
\end{document}

Clearly, I have too much time on my hands. Here's a customisable tikz-y replacement for epsdice
:
\documentclass[border=0.5cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\tikzset{
dot hidden/.style={},
line hidden/.style={},
dot colour/.style={dot hidden/.append style={color=#1}},
dot colour/.default=black,
line colour/.style={line hidden/.append style={color=#1}},
line colour/.default=black
}
\def\dotsize{0.1}
\usepackage{xparse}
\NewDocumentCommand{\drawdie}{O{}m}{
\begin{tikzpicture}[x=1em,y=1em,#1]
\draw[thick, rounded corners=0.5,line hidden] (0,0) rectangle (1,1);
\ifodd#2
\fill[dot hidden] (0.5,0.5) circle (\dotsize);
\fi
\ifnum#2>1
\fill[dot hidden] (0.2,0.2) circle (\dotsize);
\fill[dot hidden] (0.8,0.8) circle (\dotsize);
\ifnum#2>3
\fill[dot hidden] (0.2,0.8) circle (\dotsize);
\fill[dot hidden] (0.8,0.2) circle (\dotsize);
\ifnum#2>5
\fill[dot hidden] (0.8,0.5) circle (\dotsize);
\fill[dot hidden] (0.2,0.5) circle (\dotsize);
\fi
\fi
\fi
\end{tikzpicture}
}
\begin{document}
\drawdie{3}
\drawdie[line colour=red]{4}
\drawdie[dot colour=blue]{6}
\end{document}
This uses the trick of optional arguments from over here. The mandatory argument is the number and the optional argument takes one of two keys line colour=<colour>
and dot colour=<colour>
where <colour>
is any colour tikz recognises.

epsdice
from a different perspective:epsdice
doesn't work in XeLaTeX exactly because XeLaTeX doesn't seem to support clipping. We need someone like Andrew Stacey or Jake to come along and throw together a superior dice package in five minutes…