(Your requirement wasn't entirely clear to me. I assume that you want periods (full stops) at the ends of the arguments of both \caption and \Notes. If it's only needed for \Notes, I trust you'll be able to figure out how to modify the code shown below.)
Here's a LuaLaTeX-based solution. It adds missing periods ("full stops") at the end of the arguments of \caption and \Notes instructions. It works by scanning the input, at a very early stage of processing, for instances of \caption{...} and \Notes{...} and examining the arguments; if they lack a period at the end, a period is inserted.
The only requirement for the input stream is that the commands \caption and \Notes and their respective arguments all be on the same line. I trust that this doesn't constitute a binding restriction.

%% Compile with LuaLaTeX
\documentclass{scrartcl}
\usepackage{caption}
\usepackage{luacode}
\begin{luacode*}
function add_period ( s )
if string.find ( s , "\\caption%s-{" ) then
s = string.gsub ( s , "(\\caption)%s-(%b{})",
function ( capt , argu )
argu = string.sub ( argu , 2 , -2 )
if not string.find ( argu , "%.%s-$" ) then
argu = argu .. "."
end
return ( capt .. "{" .. argu .. "}" )
end )
end
if string.find ( s , "\\Notes%s-{" ) then
s = string.gsub ( s , "(\\Notes)%s-(%b{})",
function ( capt , argu )
argu = string.sub ( argu , 2 , -2 )
if not string.find ( argu , "%.%s-$" ) then
argu = argu .. "."
end
return ( capt .. "{" .. argu .. "}" )
end )
end
return ( s )
end
luatexbase.add_to_callback( "process_input_buffer" , add_period , "add_period" )
\end{luacode*}
\newcommand{\Notes}[1]{\captionsetup{position=below}\caption*{#1}}
\begin{document}
\begin{figure}[ht!]
\caption {Actual caption}
\Notes{Notes}
\end{figure}
\begin{figure}[h!]
\caption {Another caption. } \Notes {Notes with full stop. }
\end{figure}
\end{document}