Remember that using Beanshell for scripting is not recommended, starting from JMeter 3.1 users are encouraged to switch to JSR223 Test Elements and Groovy language, check out Apache Groovy - Why and How You Should Use It for details.
Thanks for the info. These methods sadly do not work as it still performs the main sampler. I have not tried System.exit(1); yet, does this shut down my entire system or just the JMeter instance? I did not know the JSR223 thing yet, will definatly look into that! Thanks!
It shuts down JVM instance. Immediately. As a side effect you may loose results which are kept in memory and not still written to the .jtl file. If you will go this way make sure you set jmeter.save.saveservice.autoflush=true property somehow, see Configuring JMeter and/or Apache JMeter Properties Customization Guide] to learn about the ways of setting it.
Thanks! System.exit(1); works, though I would prefer a solution where the main sampler just does not get executed based on results from the preProcessor. But apparently that is not possible. Thanks for the info though and pointing out the JSR223.