The Anorm call to .execute() delegates to .execute() on the jdbc PreparedStatement class, which returns true if the result is a ResultSet and false if it is an "update count" or no result came back, so it does not do what you expected it to.
http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#execute()
I would expect the insert to be successful as long as the execute() call did not throw a SqlException. (You could verify this pretty easily by trying to insert an entry with an id that youready have in the table)