Various fixes resulting from a Data Acquisition dry run

See commit messages. Originally this was just to fix the Hibernate transaction issue with expert weightings, but I found some other issues as well.