i suggest using urban decay's primer potion! i use it from the base of my lashes to the mid eye. it really helps any eyeshadows and liners last until it's manually removed! however, when using this, it is hard to blend eyeshadow colors together, but i find that using a wash all over helps.
another thing is to use a mixing medium and any pigments to form a paste to create your own liner! i used a drop of bare escentuals' weather everything liner sealer and mix it with a small amount of bare escentuals shadows or even mac pigments to form a watery paste. then i line my eyes and voila--liner that lasts with a great color! bare escentuals makes a ton of different colors, so it's not hard finding a color to match your eyes for the day. they come in different finishes--eyeshadows, glimpses and glimmers.
bare escentuals also makes a waterproof mascara, weather everything waterproof mascara. it really lasts through anything, crying, allergies, rain, etc. you do kinda need a makeup remover to remove any mascara residue.