Actually, there's nothing wrong per se with you're trying to do. The thing that's tripping you up, though, is that the argument of the \caption command can't have what LaTeX calls "moving" or "moving" parts. To make fragile commands "robust," one can prefix them with a \protect command.
A separate comment: If there's a chance that you'll need to create a "list of figures" (which can be accomplished with the \listoffigures command), you should provide a "short" version of the caption text in the optional argument of the \caption command. Otherwise, you'll get more cryptic error messages, this time of the form Argument of \@caption has an extra }. The way to get around that is to create a short version of the caption without any "moving" commands at all, as the following MWE shows.
\documentclass{article}
\usepackage{paralist}
\usepackage[demo]{graphicx}
\newcommand{\inlinelist}[1]{\begin{inparaenum}[(a)] #1 \end{inparaenum}}
\begin{document}
\listoffigures
\begin{figure}[h]
\caption[Hello and Goodbye]%
{\inlinelist{%
\protect\item Hello.
\protect\item Goodbye.}%
}
\centering
\includegraphics{hello.pdf}
\end{figure}
\end{document}

\inlinelistand probably other commands. However, I would like to see a full minimal example of your code. – Gonzalo Medina Mar 31 '12 at 21:51