The \Convert
command is not fully expandable, despite being defined with \DeclareExpandableDocumentCommand
(which is an error in the package).
There's a simpler way using a built-in function in expl3
:
\documentclass{article}
\usepackage{siunitx}
% \usepackage{xparse} % already loaded by siunitx
\ExplSyntaxOn
\DeclareExpandableDocumentCommand{\convertdim}{mm}
{
\dim_to_decimal_in_unit:nn { #2 } { 1#1 }
}
\ExplSyntaxOff
\begin{document}
\begin{tabular}{S[table-format=1.5,group-four-digits]}
\convertdim{cm}{100pt} \\
3.14 \\
2.71828
\end{tabular}
\end{document}

A fancier version where you can state the number of decimal digits (with rounding):
\documentclass{article}
\usepackage{siunitx}
\ExplSyntaxOn
\DeclareExpandableDocumentCommand{\convertdim}{O{2}mm}
{
\fp_eval:n { round ( \dim_to_decimal_in_unit:nn { #3 } { 1#2 } , #1 ) }
}
\ExplSyntaxOff
\begin{document}
\begin{tabular}{S[table-format=1.5,group-four-digits]}
\convertdim{cm}{100pt} \\
\convertdim[0]{cm}{100pt} \\
\convertdim[1]{cm}{100pt} \\
\convertdim[2]{cm}{100pt} \\
\convertdim[3]{cm}{100pt} \\
\convertdim[4]{cm}{100pt} \\
\convertdim[5]{cm}{100pt} \\
3.14 \\
2.71828
\end{tabular}
\end{document}

Note that \dim_to_decimal_in_unit:nn
returns at most five decimal digits (but the last digit is not necessarily accurate).
\Convert
command, despite being defined with\DeclareExpandableDocumentCommand
is not fully expandable.