I've got a quick question about collision masks! Setting the collision mask at 0 is better because the game doesn't calculate the collision for each pixel in the image. If you want to make a sprite without collisions, is it better to set a collision mask of 255 rather than any other mask? So, is 255 considered no collision or does the program calculates each pixel anyway?
Thanks! 
Alpha level of 255 is not optimized away. It will create a collision mask full of empty pixels. If you want a particular sprite to not be involved in collisions, remove it from the sprite category that is used with collision testing. Unfortunately there is no built-in way to remove individual states or frames from a sprite category, so only the entire sprite can be removed or included in collision testing. Another possibility is to set the alpha level to 0 (as an optimization), then if a collision occurs, check the current state/frame of the sprite that was hit to see if you want to allow collisions for that state/frame. You may be able to further optimize this (at runtime -- this will not affect startup time) by setting the solid size of the sprite state to 1x1 because when you perform a collision test between a frame that has alpha set and a frame that has alpha = 0, I believe SGDK2 will create a rectangular mask in order to perform the collision test. A pure/simple rectangular collision test is only performed when both frames being tested have an alpha level of 0. But having a 1-pixel collision mask and a rectangle is pretty simple too.
Of course if you have separate sprites for performing collision tests like KainSlashZone, it's easier to exclude the frames from collision testing because the whole sprite is designed only for collision testing. If a particular state should not collide with anything, just put 0 frames in it ( think that's allowed), and nothing will be tested. Or de-activate the collision sprite when the associated sprite should not be colliding with anything.
Another thought: you could "pretend" that the sprite is inactive when it should not be colliding with anything. For example, in addition to checking "isActive" on the sprite, you could have a custom property "isSolid" on the sprite and, in a customized version of TestCollisionMask, skip sprites that have isSolid currently set to false.