That is because onChange you don't have to set the selection in the list... the list selection is being set by the user.
You should be able to do it with a passed parameter as well. Are you only passing the ID of list c? you would probably have to create a recordset to look up the value for list a and list b so that you could set those selections as well, but it would work.