Broke the script down to the relevant parts and this is all that's left:
dt2 = Open ("Close Test File.xlsx",
Worksheets( "Tabelle1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(1, Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Treat as Hierarchy( 0 )));
close(dt2);
Still results in a new file called "Tabelle1.jmp".
Jarmos post made me remember that I indeed used to see this I/O problem message a lot and was never able to place it.
I'm afraid a lot of scripts were written without specifiying NoSave and it didn't cause any harm during runtime and now the behaviour has changed.