Your idea is not too bad actually, just the "erase event" will cause you pain. The problem is that the event will be re-initialized as soon as you exit/enter the map again meaning you're back to square one.
A set-up I've made that would, with some adaptations, probably work for your system is as follows:
Your plant's event will need 2 pages. The first page will have no graphics and will be set up so that, when you choose to dig up the plant, a variable is set to 0, and self switch A is turned on.
The second page is a bit more complicated, here's a copy of the code to save me some explaining
@>Text: Plant a new seed here?
@>Show Choices: Yes,No
: When[Yes]
@>Text: What seed would you like to plant?
@>Show Choices: Seed1,Seed2,Seed3,Seed4
: When[Seed1]
@>Set Move Route: Player
: :$>Turn Down
: :$>Move Down
@>Wait for Move's Completion
@>Control Variables:[0001] = 1
: When[Seed2]
@>Set Move Route: Player
: :$>Turn Down
: :$>Move Down
@>Wait for Move's Completion
@>Control Variables:[0001] = 2
: When[Seed3]
@>Set Move Route: Player
: :$>Turn Down
: :$>Move Down
@>Wait for Move's Completion
@>Control Variables:[0001] = 3
: When[Seed4]
@>Set Move Route: Player
: :$>Turn Down
: :$>Move Down
@>Wait for Move's Completion
@>Control Variables:[0001] = 4
: When Cancel
@> Exit Event Processing
@> Branch End
@>Conditional Branch: Variable[0001] >= 1
@>Control Self Switch: A = OFF
@>
: Branch End
@>
: When[No]
@>Text: Awwww...
@>
: Branch End
@>
That event page must require self-switch A to be on, and also has no graphic.
Now, you're probably wondering...this event has no graphic...what's with that?
That's where a 2nd event comes in
This event parallel processes and is invisible(both pages of it)
The first page only does 2 things.
Firstly it sets that variable to a certain value, this value is whatever seed number the plant should start off with
secondly it turns self-switch A on.
The second page of this event will need self-switch A to be on.
This event page uses several conditional branches to check what the variable is. When it's equal to 1, you use "set moveroute", and in the moveroute you select change graphic, and change it to whatever you want the new plant to look like if seed 1 was chosen, etc. for all the other possible values. (make sure you apply this change to the plant's event, not the player or this event)
Thats basically it.
Rather than changing the graphic with this variable, you can also make use of it to simply have different things happen in your original event.