Bellman-Ford without getting stopped by negative cycles
Solution 1: First pre-process the graph to remove all vertices that cannot reach $a$.  This can be done using depth-first search (backwards in the graph; i.e., in the reverse graph), in linear time.  You can also pre-process the graph to remove all vertices that are not reachable from $s$, again in linear time.

Solution 2: Run Bellman-Ford for $2n$ iterations and see if the value from $s$ to $a$ stays stable for the last $n$ iterations.  This should work: any simple path (with no cycle) from $s$ to $a$ must use at most $n-1$ edges, and if there is a non-simple path from $s$ to $a$ traversing a negative-weight cycle, then there is one with at most $2n-1$ edges.  You might want to double-check your example; maybe you made a mistake when simulating Bellman-Ford by hand.