You need to build the name of the command sequence first before you can define the command with \newcommand. This is done with \csname <macro name without leading backslash>\endcsname. Since \csname needs to be expanded before \newcommand (you don't want to define \csname itself) an \expandafter is needed:
\newcommand{\buildcommand}[1]{%
\expandafter\newcommand\csname someprefix#1\endcsname{do stuff}%
}
If you want to keep the braces around the new command name you need to “step over them” with another \expandafter:
\newcommand{\buildcommand}[1]{%
\expandafter\newcommand\expandafter{\csname someprefix#1\endcsname}{do stuff}%
}
I also added % at the end of the first two lines of the definition in order to avoid spurious spaces, see Why the end-of-line % in macro definitions? and What is the use of percent signs (%) at the end of lines? for further explanation on that.
\newcommand{\buildcommand}[1]{\expandafter\newcommand\csname someprefix#1\endcsname{do stuff}}– cgnieder Jun 11 '13 at 16:19