Then you have something else going on in code that you haven't shown us. Some possibilities -
1) Another opening <form> tag above the one you are showing, that's using method = get.
2) The php code you are showing the result from is being executed before the form is being submitted.
3) The php code you are showing is being included into a file using a url and it's not in the same program scope as where the post data is at.
4) You have some php code that's clearing the $_POST variable(s).
5) Your code is doing a header() redirect at some point and is causing a get request for the page and there isn't any post data, combined with your form processing code not checking if there is post data before trying to access it.
Do you have php's error_reporting set to E_ALL and display_errors set to ON to get php to help you by reporting and displaying all the errors it detects? Also, even if you do have these two settings set as suggested, you may not see any errors if your code is doing a header() redirect and php's output_buffering is turned on in the php.ini file. Turn the php output_buffering setting OFF.
Immediately above the if (is_array( $POST['cboRating'])) line, add the following to see what is in the post array -
var_dump($_POST);
Lastly, if you cannot find the cause of the problem, you will need to post all the code that would be needed to reproduce the problem.