I agree with you, minelaying was an important, but also dangerous and much hated task for uboats in WW2. It should somehow make its way into the game, and because real commanders (And BdU) only rarely learned about ships sunk by their laid mines and got credit for them, leaving the area afterwards and having the mine dissapear is not a big issue.
That said, you can make the mines stay there for all the time you want it, even if they won't explode unless you are closeby (40km, the are where units are physically spawned and not just traced as abstract entities) and will not get any credit for anything they sink. How? Well, opening SH3 mission editor and adding a german minefield exactly where you accomplished your mission, with the number of mines and spacing you put them.
It can be done, it just will require some manual input from the player, though it could theoretically be automated by a Perl script

that asks you for the parameters (Latitude/Longitude, number of mines, spacing) and then writes the minefield into the LND campaign layer for you.
In fact, what the script would ask you is what the real commander would fill in the report to BdU.