Linear SVM with slack variables: Will it find a perfect decision boundary if it exists? Suppose I use a linear Support Vector Machine with slack variables on a dataset that is linearly separable. 
Could it happen that the Support Vector Machine reports a solution that does not perfectly separate the classes? 

As an illustration: Is the situation in the picture possible for a Support Vector Machine with slack variables? Although there is a "better" boundary that allows perfect classification, the Support Vector Machine goes for a sub-optimal solution that misclassifies two samples.
Having linear separable data means that an optimal solution exists. The support vector machine is an approach to identify the optimal solution with multiple steps through Lagrange multiplication. This method is guaranteed to give you the optimal solution if there is one.