Yes but Bitcoin core does not have built in re-broadcast and the layout of Core is woeful. I do use it but, terrible really.
I thought an electrum transaction prune could happen if it totals up the ones it prunes and puts that in the file as a subtotal and then works with that and the handful of latest transactions. If past transactions are done and dusted, obviously they cannot change so it should be ok to represent the past as an added up subtotal, I assume if one were to kill the file for some reason and have to start over it again would repopulate the file with all the transactions by syncing and again do a prune to cut it back.
For a pruned file the sync would see the date stamp of the prune and where to start looking.
Damn.
Bitcoin Core rebroadcasts transaction automatically and its pretty flexible with the features.
The way most desktop wallet works is to download and verify the transactions associated with the wallet and get the UXTO. This way, when you make a transaction, the client don't have to ask the nodes "Hey which inputs can I spend?" and your client would have to verify it again. If you think about it, it would put a lot more stress on the nodes and your computer.
I would imagine it could be possible for the client to prune the transactions which their outputs spent. I'm not really familiar with the feasibility of this however.