Unfortunately, while your program might not need to read from the LCD, that does not mean that the RMW problem will not occur.
Every time you alter a bit on a register, what the hardware does is to read the WHOLE register, update the bit you specify and then write back the whole register value (hence the name "read-modify-write").
When the register is a PORT one, the values that are read are actually what is on the pin and not necessarily what was set by the register - this happens if the pin and the associated wiring places a load on the pin so that the voltage transitions are (relatively) slow.
Therefore, you might change a pin from '0' to '1' but the actual voltage on the line will take time to change. If in that time you try to update the register again and therefore the hardware will read the pin voltage, it can read the "old" '0' state if the voltage has not had sufficient time to rise to the '1' voltage threshold. In that case the read of the register will still see the value of that bit as '0'. When it comes to write back the register, it will set that bit back to '0'.
If the first bit you try to update is (say) the RS signal to the LCD and the next bit is the E signal, then the LCD could well see the wrong R/W value and therefore write to a register and not data (or vice versa).
If you must use a MCU that does not have RMW protection, then you should use a "shadow" register technique. What that means in this case is you declare a variable in memory to be of the structure type you have defined. You can set the bit(s) you want and then write the whole variable to the full PORT register. As you are writing to the whole register, the hardware does NOT need to read it beforehand and so you avoid the problem.
Susan