Das liegt daran, dass die Bounding Box rechts oben auf den Punkt `(\LineSpace,\LineSpace)` begrenzt ist. Damit wird die Linie oben horizontal zu ihrer Mitte und rechts vertikal zu ihrer Mitte abgeschnitten. Wenn Du die halbe Liniendicke hinzu gibst, ist das Problem beseitigt:
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\makeatletter
\pgfdeclarepatternformonly[\LineSpace]{my north east lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfpoint{\LineSpace+0.2pt}{\LineSpace+0.2pt}}{\pgfqpoint{\LineSpace}{\LineSpace}}%
{
\pgfsetcolor{\tikz@pattern@color}
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{\LineSpace + 0.1pt}{\LineSpace + 0.1pt}}
\pgfusepath{stroke}
}
\newdimen\LineSpace
\tikzset{
line space/.code={\LineSpace=#1},
line space=3pt
}
\makeatother
\begin{document}
\begin{tikzpicture}
\draw[red,fill,pattern color=blue,line space=10pt,pattern=my north east lines] (0,0) rectangle (2,3);
\end{tikzpicture}
\end{document}
![alt text][1]
[1]: http://texwelt.de/wissen/upfiles/test_20161223_212847.png