Try this instead:
RAWSQL_DATE("TO_DATE(%1, 'DD-MM-YYYY')", '01-01' + STR([YearField]))
The problem with your formula and Oracle is probably the way Oracle interprets date's components. I think Tableau tries to "outsource" your custom date formula to Oracle, which confuses day with month number, because this is how Oracle was configured by administrator.
In any case, it is safer to use RAWSQL which will allow you to use Oracle native functions with no confusion.