Ну, это конечно должно работать. Очевидно, в вашем коде нет ничего плохого, но я подозреваю, что из предоставленного вами фрагмента у вас есть какая-то история "попыток и ошибок" ...; -)
Попробуйте отладить беседу и посмотреть, к какому разговору обращаются (и когда). Правильно ли вы передаете идентификатор разговора?
Когда вы пишете ViewScoped
works - вы включили Seam 3 для соединения JSF-областей с CDI, или же вы смешиваете области JSF и CDI?
И: не помещайте никакой EJB-код в конструктор, так как у вас нет никакой гарантии, когда (и как часто) это будет вызываться. Вместо этого лучше использовать @PostConstruct
.