Form API-built form only emails Array, not the form results
This line is probably the problem:

$params['message'][] .= ...


If $params['message'] is a string then you want to be concatenating directly to that string like this:

$params['message'] .= ...


When you put empty square brackets [] on the end of a variable PHP treats that variable as an array and essentially pushes whatever's after the = sign on to the array.

The way you're doing it (with a string concatenation of .=) I'm not actually sure what the logic flow would be but it wouldn't be pretty...I'm surprised you don't get a fatal error for this :)