Thank you for all your answers and suggestions!
@Fett263: Yes I had Mass storage & serial set in the Arduino IDE.
@NoSloppy: Different PC’s same result. I pulled the current master from Github and tested with the same result
@Aaron_Hilditch Thanks for the suggestions. I had serial+Mass storage only.
@profezzorn: I was indeed using smallest code. Your suggestion using the exact same config file for both 6.7 and 7.14 triggered some new insights;
On 7.14 this was my first prop for a blaster using the
#ifdef CONFIG_PROP
#include "../props/blaster.h"
#endif
On my 6.7 setup I just tried a generic saber.h prop.
When I comment out the “…/props/blaster.h” part, the V3.9 board is accessable via explorer and all the files can be read and modified. When using the “…/props/blaster.h” I only get the ‘USB drive (D:)’ icon and when trying to acces the files, I get the error to put in a SD-card.
This is happening on both 7.14 ánd the latest master on GitHub. My guess is that there is something wrong with the blaster.h prop definition.
Looking at the blaster.h I see a lot of override of the SaberBase class, although I can not pinpoint the exact member or missing loop that is the culprit of the error.
I tried to add a Loop() override to the blaster.h, thinking the loop might be needed to trigger the SD-card handling, and there is no Loop override in blaster.h But this did not help
void Loop() override {
PropBase::Loop();
}
Bare minimum config.h that has the error for SD-card access;
#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 2
#define NUM_BUTTONS 1
#define VOLUME 2000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#endif
#ifdef CONFIG_PROP
#include "../props/blaster.h"
#endif
#ifdef CONFIG_PRESETS
Preset presets[] = {
// Default basic blast color with red audio flicker on blast
{ "_blstr1", "tracks/mars.wav",
StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),
StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>() }
};
BladeConfig blades[] = {
{ 10000, WS2811BladePtr<125, WS2811_ACTUALLY_800kHz | WS2811_GRB>(),
WS2811BladePtr<14, WS2811_ACTUALLY_800kHz | WS2811_GRB, 7, PowerPINS<bladePowerPin6> >(),
CONFIGARRAY(presets) },
};
#endif
#ifdef CONFIG_BUTTONS
Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
#endif
And commented out blaster.h, reverting back to a standard saber.h prop, that gives full acces to the SD card using explorer
#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 2
#define NUM_BUTTONS 1
#define VOLUME 2000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#endif
/*
#ifdef CONFIG_PROP
#include "../props/blaster.h"
#endif
*/
#ifdef CONFIG_PRESETS
Preset presets[] = {
// Default basic blast color with red audio flicker on blast
{ "_blstr1", "tracks/mars.wav",
StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),
StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>() }
};
BladeConfig blades[] = {
{ 10000, WS2811BladePtr<125, WS2811_ACTUALLY_800kHz | WS2811_GRB>(),
WS2811BladePtr<14, WS2811_ACTUALLY_800kHz | WS2811_GRB, 7, PowerPINS<bladePowerPin6> >(),
CONFIGARRAY(presets) },
};
#endif
#ifdef CONFIG_BUTTONS
Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
#endif
So by temporarily commenting out the blaster.h, I am able to access and modify the soundfonts on the SD card. Re-flashing it with the blaster.h enabled makes my blaster go ‘ZapZap’ (as it is an Arcane inspired blaster) 
For now this is a workaround that I can live with, but for other blaster builders this might be an issue?