You certainly do not need to. The intention and semantics of
return recordsAffected > 0;
is perfectly clear. This should hold true for every decent programmer reading your code.
return recordsAffected > 0 ? true : false;
is redundant at best, but I'd go further and call it detrimental. The second snippet does not add anything to the statement but complexity. I'll bet if you did not write code like this all the time (and I believe most decent progammers don't) the second statement will take you at least two passes to grasp the meaning, if not more. When there are two semantically equal solutions you should always stick to the clearest one, which is not necessarily the most explicit one. Nobody would ever write something like
if(recordsAffected > 0 ? true : false)
{
}