In my mind i think that the mcu can do other things while waiting for WR that's why i use interrupts instead of waiting for WR,why to include an interrupt if not used like this?
Yes, there may be some situations where you need to know the moment the write cycle completes, but think for a moment...
What is it in your situation you need to do when it finishes writing one byte?
The only thing you care about is if you can write another byte.
So, you "add the wait for WR" loop to the start of your "write eeprom" function.
If it gets there while it's still busy with a previous write, you just wait the millisecond or two it takes to complete, then immediately do the next write.
Anything you do with interrupts will be SLOWER than this.
If you allow the PIC to keep running while a write is being done, then you must also not try to read a byte until that write is completed.
That is why I said you have to add the WR wait to the start of both your write AND your read functions.
I don't measure the time the power drops because i added a 470uF capaciotor and i assumed that the mcu bor circuit will have the time it needs
Maybe you are right, it all depends how much current your circuit is drawing, and how precise the BOR level detect is.
You won't know until you measure it. You just need a storage scope to see what it does.