Quelle drôle d'idée d'aller chercher `fontdiman` `fontdimen` alors que `1em` existe. Le code suivant le fait selon les deux façons, à vous de décider si vous utilisez `foo` et `Foo` ou bien `\bar` et `\Bar`.
\documentclass[12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps, oldstyle]{kpfonts}
\usepackage{adforn}
\begingroup
\fontfamily{OrnementsADF}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont
\xdef\foo{\the\fontdimen6\font}\xdef\bar{\the\dimexpr1em\relax}%
\endgroup
\normalfont
\xdef\Foo{\the\fontdimen6\font}\xdef\Bar{\the\dimexpr1em\relax}%
\usepackage[twoside
,a4paper
,includeheadfoot
,layoutsize={190mm,220mm}
,layoutoffset={10mm,10mm}
,hdivide={15mm,15cm, }
,vdivide={18mm,19cm, }
,marginparwidth=\Foo% ou \foo ou \bar ou \Bar
,marginparsep=\Foo% ou \foo ou \bar ou \Bar
,showcrop
]{geometry}
\begin{document}
1em avec kpfont vaut : \Foo{} ou plus simplement \Bar
1em avec adforn vaut :
\foo{} ou plus simplement \bar\bigbreak
\marginpar{\adforn{61}}« Il faut continuer, je ne peux pas continuer
\end{document}