My turn to be a bit dim.
I forgot to explode the recordset into an array in the is_array() check.
Third times a charm, try this code:
<input type="checkbox" name="Occasions[]" value="<?php echo $row_rsOccasions['OccasionName']; ?>"
<?php if(isset($row_rsOccasions['OccasionName']) && is_array(explode(", ", $row_rsOccasions['OccasionName']))) {
if(in_array($row_rsOccasions['OccasionName'], explode(", ", $row_rsOccasions['OccasionName']))) echo("checked=\"checked\"");
}
?> />